(PECL wincache >= 1.1.0)
wincache_unlock — 指定したキーの排他ロックを解放する
$key
)指定したキーに対して、wincache_lock() を使って取得した排他ロックを解放します。 別のプロセスがこのキーに対するロックをブロックされて待機している場合は、 そのプロセスがロックを取得できるようになります。
wincache_lock() および wincache_unlock() を使っていると、FastCGI のようなマルチプロセス環境において PHP スクリプトがデッドロックを引き起こすことがあります。 本当にそれが必要である場合でない限り、これらの関数は使わないようにしましょう。 キャッシュ上でのさまざまな操作の大半は、これらの関数を使う必要のないものです。
key
ロックを解放したいキャッシュ内のキーの名前。
成功した場合に TRUE
を、失敗した場合に FALSE
を返します。
例1 wincache_unlock() の使用
<?php
$fp = fopen("/tmp/lock.txt", "r+");
if (wincache_lock(“lock_txt_lock”)) { // 排他ロックを確保します
ftruncate($fp, 0); // ファイルを切り詰めます
fwrite($fp, "Write something here\n");
wincache_unlock(“lock_txt_lock”); // ロックを解放します
} else {
echo "Couldn't get the lock!";
}
fclose($fp);
?>