sem_acquire

セマフォを得る

説明

bool sem_acquire(SysvSemaphore $semaphore, bool $non_blocking = false)

sem_acquire はデフォルトで、(必要な場合) セマフォが確保できるまでブロックします。 既に確保されているセマフォを得ようとするプロセスは、 セマフォの獲得により max_aquire 値を超える場合、 永久にブロックされます。

リクエスト処理の後、プロセスにより獲得された全てのセマフォのうち、 明示的に開放されていないものが自動的に開放され、警告が表示されます。

パラメータ

semaphore

semaphore はセマフォのリソースで、 sem_get によって得られます。

non_blocking

セマフォが確保できるまでプロセスを待たせたくない場合に指定します。 true にすると、セマフォをその場で確保できなかった場合に、 この関数は即時に false を返します。

戻り値

成功した場合に true を、失敗した場合に false を返します。

変更履歴

バージョン 説明
8.0.0 引数 semaphore は、 SysvSemaphore クラスのインスタンスを期待するようになりました。 これより前のバージョンでは、リソースが期待されていました。

参考

  • sem_get
  • sem_release