ひしだまの変更履歴

ひしだまHPの更新履歴。
主にTRPGリプレイの元ネタ集、プログラミング技術メモと自作ソフト、好きなゲームや音楽です。

AtomicIntegerの勝ち

2008-04-18 20:49:58 | PG(Java)

昨日の実験ではJDK1.5で導入されたReentrantReadWriteLockを使った読み書きロックがsynchronziedに負けてしまったので(書き込みだけしか行わない処理だったからある意味仕方ないのだが)、読み書きロックの利点である「読み込み」だけを行う処理で実験
祝!さすがにこちらは読み書きロックの方がsynchronizedより速い。(そうでないと存在意義ないからなー)

が、単純な排他カウンターでは、AtomicIntegerの方が断然速い!思わず「圧倒的ではないか、AtomicIntegerは」と、どこかでよく使われるネタが脳裏に浮かんでしまった(苦笑)

まぁ、単純なカウンターではない、読み込み頻度が書き込みより多くなる排他処理についてはsynchronizedよりReentrantReadWriteLockの方がいいのは確かなようだ。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

アトミック

2008-04-17 23:59:41 | PG(Java)

JDK1.6のNumberクラスのJavadocを見ていたら、見慣れぬ継承クラスを発見。
AtomicIntegerとかAtomicLongとか。JDK1.5で導入されていたらしい。

しかし、いわゆるintやlongのラッパーとは違って、排他しつつカウントする為のクラスらしい。synchronizedを使って排他するより高速なので、いいかも。
(でもNumberを継承しているのでintValue()とかは使える。…どんな意味が??)

ついでに(前から何の役に立つのか疑問だった)volatileについてもちょっと調べてみた。
それと自分の古い知識を元にまとめてみたが、果たして合ってるのかなぁ…?

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

NGパターン

2008-04-16 23:48:57 | PG(Java)
他人のソースを見ていると、想像もしなかったような「なんで!?」と思うようなコーディングにお目にかかれて面白い。
という訳で、アンチパターンというほど格好いいものじゃないけれど、そんなコーディングしない方がいいよというものを書いてみた。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

user・index

2008-04-15 23:59:53 | PG(RDBMS)

Oracleのユーザーインデックス(索引)についてメモ。超ありきたりなので、見るべきものは何もなし。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

お腰につけた

2008-04-13 20:48:27 | プログラミング

キビバイトなんて表現初めて知った。

比較的新しい表現だから浸透してないんだろうか。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする