マルチスレッドプログラミング(2)

昨日の要求(特定の待ちスレッドにnotifyしたい)というのは、Specific Notification Patternというらしい。わざわざ名前付けなくても、普通のマルチスレッドプログラミングならMutexとかでやってること。
んで、JavaのObject.wait()とObject.notify()では低機能過ぎるから、Doug Leaという人が util.concurrent というものを開発して、Java5からは java.util.concurrent として取り入れられたらしい。
http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/util/concurrent/package-summary.html

んで、昨日、スレッドいっぱいのときに効率悪い方法で実装していたCommandQueueクラスは、Java5ではBlockingQueueになってる。
http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/util/concurrent/BlockingQueue.html

もちろん、携帯Javaでは使えないけどね。

このブログに乗せているコードは引用を除き CC0 1.0 で提供します。