ホームページ >バックエンド開発 >PHPチュートリアル >PHP で flock を使用してファイルを書き込むブロッキング方法と非ブロッキング方法の比較
この記事では主に、PHP で flock を使用してファイルを書き込むブロッキング方法と非ブロッキング方法の比較について説明します。編集者はこれが非常に良いものだと思ったので、皆さんの参考として今から共有します。編集者をフォローして見てみましょう。皆さんのお役に立てれば幸いです。
ブロッキング書き込みコード: (すべてのプログラムは、最後のプログラムの実行が終了するまで実行を待機し、30 秒でタイムアウトします)
<?php $file = fopen("test.txt","w+"); $t1 = microtime(TRUE); if (flock($file,LOCK_EX)) { sleep(10); fwrite($file,"Write something"); flock($file,LOCK_UN); echo "Ok locking file!"; } else { echo "Error locking file!"; } fclose($file); $t2 = microtime(TRUE); echo sprintf("%.6f",($t2-$t1));
ノンブロッキング書き込みコード: (ファイルが占有されている限り、エラー ロックファイルが表示されます!)
<?php $file = fopen("test.txt","a+"); $t1 = microtime(TRUE); if (flock($file,LOCK_EX|LOCK_NB)) { sleep(10); fwrite($file,"Write something"); flock($file,LOCK_UN); echo "Ok locking file!"; } else { echo "Error locking file!"; } fclose($file); $t2 = microtime(TRUE); echo sprintf("%.6f",($t2-$t1));
関連する推奨事項: