(PECL pthreads >= 2.0.0)
Mutex::lock — ミューテックスを確保する
$mutex
)呼び出し元用に、ミューテックスのロックを試みます。
他のスレッドが所有する (ロックしている) ミューテックスをロックしようとすると、ブロックされます。
mutex
Mutex::create() を呼んで取得したハンドル。
成功したかどうかを返します。
新しく作り、オプションでロックしたミューテックスのハンドルを返します。
例1 ミューテックスのロックとアンロック
<?php
/** "new" キーワードは使えません。Mutex は PHP のオブジェクトではありません **/
$mutex = Mutex::create();
/** ミューテックスのロックが、どんなコンテキストでもできるようになりました **/
var_dump(Mutex::lock($mutex));
/** ロックしたミューテックスは破棄できません **/
var_dump(Mutex::unlock($mutex));
/** 自分が作ったミューテックスは、常に破棄します **/
Mutex::destroy($mutex);
?>
上の例の出力は以下となります。
bool(true) bool(true)