PHPマニュアル/PEARマニュアル | ユーザフォーラムで議論/質問 | マニュアル検索 | ハイライト | ハイライトオフ | ポータル | php spot

wincache_lock - 指定したキーで排他ロックを確保する | JavaScript入門&応用&リファレンスなら「JavaScriptist」

  

wincache_lock

(PECL wincache >= 1.1.0)

wincache_lock 指定したキーで排他ロックを確保する

説明

bool wincache_lock ( string $key [, bool $isglobal = false ] )

指定したキーについての排他ロックを確保します。 ロックを確保するまでは、現在のスクリプトの実行はブロックされます。 ロックを確保できたら、その後は他のスクリプトから同じキーのロックを要求があってもそれをブロックします。 現在のスクリプトが wincache_unlock() でロックを解放するまでは他のスクリプトからロックを確保できません。

警告

wincache_lock() および wincache_unlock() を使っていると、FastCGI のようなマルチプロセス環境において PHP スクリプトがデッドロックを引き起こすことがあります。 本当にそれが必要である場合でない限り、これらの関数は使わないようにしましょう。 キャッシュ上でのさまざまな操作の大半は、これらの関数を使う必要のないものです。

パラメータ

key

ロックを取得したいキャッシュ内のキーの名前。

isglobal

ロックのスコープをシステム全体にするかローカルにするかを制御します。 ローカルロックのスコープは、IIS FastCGI のアプリケーションプール内 あるいは同一の親プロセス ID を持つ PHP プロセス群全体となります。

返り値

成功した場合に TRUE を、失敗した場合に FALSE を返します。

例1 wincache_lock() の使用

<?php
$fp 
fopen("/tmp/lock.txt""r+");
if (
wincache_lock(“lock_txt_lock”)) { // 排他ロックを確保します
    
ftruncate($fp0); // ファイルを切り詰めます
    
fwrite($fp"Write something here\n");
    
wincache_unlock(“lock_txt_lock”); // ロックを解放します
} else {
    echo 
"Couldn't get the lock!";
}
fclose($fp);
?>

参考


忘却曲線を使ってこの関数を確実に記憶に残す

フォーラムで「wincache_lock - 指定したキーで排他ロックを確保する」について話す
各種マニュアル: PHPマニュアル | PEARマニュアル | Smarty(英語)マニュアル | PHP-GTKマニュアル | wincache_lock - 指定したキーで排他ロックを確保する」をGoogle検索
copyright © 1997-2024 PHP ドキュメント作成グループ(ライセンス). provided by php spot. マニュアル: