PHP でスレッドを使いたいとお嘆きのあなたは使ってみるといいんじゃないかな。
マニュアルは公式サイトの方が読みやすいと思われる。
残念なことに使用するには --enable-maintainer-zts を有効にして再ビルドする必要がある。
--enable-maintainer-zts Enable thread safety - for code maintainers only!!
phpbrew の場合は -- オプションで configure への引数を追加できる。
% phpbrew install php-5.4.7 -- --enable-maintainer-zts
zts を有効にしたら pecl でぶっこみます。github から archive を持ってくる必要なんてなかったんや...。
% pecl install pthreads-beta
あとは Thread クラスを継承したクラスを書くだけです。ね?簡単でしょ?
% php ./ThreadExample.php ID[4340998144] : start & sleep ID[4342120448] : start & sleep ID[4343242752] : start & sleep ID[4344365056] : start & sleep ID[4345487360] : start & sleep ID[4345487360] : done ID[4346609664] : start & sleep ID[4347731968] : start & sleep ID[4348268544] : start & sleep ID[4349128704] : start & sleep ID[4349988864] : start & sleep ID[4343242752] : done ID[4340998144] : done ID[4346609664] : done ID[4348268544] : done ID[4349128704] : done ID[4349988864] : done ID[4344365056] : done ID[4342120448] : done ID[4347731968] : done %
【追記】ブクマがそこそこあったので補足しておきますが、run() の中で date() を呼んだら Segmentation Fault が発生したり、property を定義しても何故か未定義になってしまうので、まだまだ実用はできない状態です。