ホームページ >バックエンド開発 >PHPチュートリアル >phpのpthreadのバックグラウンド処理について教えてください!

phpのpthreadのバックグラウンド処理について教えてください!

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBオリジナル
2016-06-13 12:06:341019ブラウズ

phpのpthreadバックグラウンド処理について教えてください。 ! !
特定のリクエストの後にバックグラウンド スレッドを作成し、それを常に実行したいと考えています。このスレッドは現在のリクエストをブロックしません。

実装プロセス中に、バックグラウンド スレッドが現在のリクエストをブロックし、ページがデータがない状態で待機することが判明しました。Thread::detach が実行されると、次のようなセグメンテーション エラーが発生します。公式文書ではこの方法の使用を推奨していません。このエラーと関係があるかどうかはわかりません:

[Sun Sep 14 11:13:03.819745 2014] [core:notice] [pid 14343] AH00052: child pid 14847 exit signal Segmentation fault (11)


ありがとうございます。
------解決策----------------------
デタッチする必要はありません。子プロセスが終了するまで待つ必要があります。もちろんリクエストはブロックされます。

デタッチは既存の拡張機能と競合する可能性が高くなります。

この機能を実装するにはメッセージ キューを使用することをお勧めします。
------解決策のアイデア- ---------------------
なぜマルチスレッドを使用するのでしょうか?これは 1 行のコードであり、現在のプロセスをブロックすることはありません。
コードは次のとおりです:
exec("php task.php > /dev/) null &")

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。