(いえ、どうせ前から広めたいとは思ってたので、ちょっと便乗。) これからマルチコア当り前時代になるし並行処理を扱えるようになりたい。でも並行処理って難し過ぎる。そんな諸氏に朗報です。簡単かつ安全にマルチスレッドを扱える方法があります。 それは、メッセージパッシングによるスレッド間情報共有です。Erlangのようなアクターモデルと言った方がピンとくる人もいるかもしれません。メッセージパッシングの世界にはロックもシグナルも登場しません。あるのは、スレッド間で共有する通信路だけです。なぜ通信路だけで、排他制御が出来るのでしょうか?新しいスレッドを作って、そのスレッドが持つ文字列を読み書きするメッセージパッシングスタイルのプログラムを見れば一目瞭然です。 (* 細かい事は若干単純化したサンプルプログラムです。*) let start_server init_msg = let ch = (* 通信