Something Like Threading - PHP Process Forking and Interprocess Communication
またもや「PHPでマルチスレッドチック」なネタで、ネタ振りだけですみません。
今度はsocketを使ってプロセス間通信するサンプルのようです。
ページの上から1/3ほどにあるThreaderクラスのコードがそれです。socket_create_pair関数でソケットペアを作った後pcntl_fork関数でforkし、子プロセス側から親プロセスに現在の状態(「RUNNING」「UPTO」「STOP」の3種類)を通知しているようです。
CLI版PHPで実行してみると、
$ php Threader.php 1001 2002 3003 : 97097 98098 99099 All done! $
な感じで動作します。
先日のエントリと比べるとインパクトは小さい(^^;ですが、「fork+socket」ってコードを見ていて面白いですね :-)