ディストリビューションに含まれ、githubで入手できる多くの例があります。
https://github.com/krakjoe/pthreads/tree/master/examples
これらの例には、汎用スレッドプール、マルチスレッドソケットサーバー、SQLWorkerなどが含まれます。
pthreadsが作成するスレッドは、Zend自体がマルチスレッドSAPIを介してサービス要求に設定するスレッドと同じくらい健全で安全です。これらはすべて同じ機能に加えて、高レベルのスレッドAPIに期待するすべての機能と互換性があります(ほぼ)。
シェアードナッシングアーキテクチャの奥深くにスレッドを実装することには常に制限がありますが、自由に使える物理リソースをより適切に使用するという点での利点だけでなく、特定のタスクに対するPHPの全体的なユーザビリティがその環境を回避します。
pthreadに含まれるオブジェクトは、他のPHPオブジェクトと同じように機能し、オブジェクトへの参照を使用して、任意のコンテキストからメソッドの読み取り、書き込み、および実行を行うことができます。
あなたは正しい方向に正確に考えています。効率の尺度は、アプリケーションが実行するスレッドの数ではなく、アプリケーションの主な目的を最もよく果たすためにそれらのスレッドがどのように利用されるかです。労働者は、あなたが彼らを使うことができるところならどこでもそうするのは良い考えです。
あなたが尋ねた特定の事柄に関しては、LoggingWorkerは良い考えであり、機能します。意味がないのでそのストリームを共有しようとしないでください。Workerがログファイルまたはデータベース接続を開いた場合、完全に安定します。それによって実行されるスタッカブルはそれらにアクセスできます。SQLWorkerが例に含まれていますが、これも、APIに適切な非同期APIがない場合、またはマルチスレッドプログラミングのフローを好む場合のもう1つの良いアイデアです。
より良い、またはより正しい答えは得られません。私は自分でpthreadを作成しました。