2016-08-10 6 views
0

php pthreadsライブラリを使用してプールのワーカーのタイムアウト機能を構築する最適なソリューションは何ですか?プール内のワーカーのタイムアウト機能

私の考えは、N秒後に労働者を内部から殺すことですが、外部からも行うことができます。

他のスレッドを殺すスレッドは1つの可能性がありますか?事前

答えて

0

TNXあなたのワーカースレッドがアイドル状態で、彼らはpthread_cond_wait()でより多くの仕事を待っている可能性が高いです。

タイムアウトを実装するには、それをpthread_cond_timedwait()に変更して、スレッドがミューテックスのロックを解除し、タイムアウトが切れると終了します。

+0

Tnx @caf。私は誤解があると思います。私はアクティブな労働者のためにタイムアウトを作る必要があることを意味します。 – cleaversdev

+0

@cleaversdev:共有状態が矛盾しないようにする必要があるため、これはもっと難しいことです。最善の方法は、ワーカースレッド自身が定期的にタイムアウトをチェックするようにすることです。つまり、半完成の作業をクリーンアップして正常に終了することができます。 – caf

関連する問題