ジャバジャバ
http://www.informatik.uni-osnabrueck.de/elmar/projects/java-gtk/
論文も読んだんだけど、既存のツールキットに対するマルチスレッドラッパー的なもののよう。期待したせいか残念な感じが。
追記:Combining Events And Threads For Scalable Network Services.(http://www.cis.upenn.edu/~stevez/papers/LZ07.ps)
昔印刷した論文が偶然出て来たので再読。イベントとマルチスレッドを対比して得失点が熱っぽく語られている。結局ハイブリッドがいいんだぜと言うお話で、マルチスレッドにイベント同期・非同期の仕組みを結合した関数群を定義して、使いやすいしハイパフォーマンスだと言っている。もちろんHaskell。
CMLとの比較もしていて、彼らがやりたい事に近いと白状している。ただ、CMLはスケジューラーが触れないからだめだと言っているのだけど、どうもCMLでスケジューラーを触れる利点がまだピンとこない。
ついで、論文の中で引用されていた、LauerとNeedhamが1978年に出した"On the Duality of Operating Systems Structures."に載っているという次の表がとても印象的。
Threads | Events | |
---|---|---|
Threads continuation | 〜 | event handler |
scheduler | 〜 | event loop |
exported function | 〜 | event |
blocking call | 〜 | send event/await reply |