Skip to content

Instantly share code, notes, and snippets.

@naosim
Last active April 30, 2018 22:16
Show Gist options
  • Save naosim/61a908ad2e7393cae69f972ddc356d8d to your computer and use it in GitHub Desktop.
Save naosim/61a908ad2e7393cae69f972ddc356d8d to your computer and use it in GitHub Desktop.
phpでlockする
<?php
function lock($lockFileName, $fuc) {
if(!file_exists($lockFileName)) {
file_put_contents($lockFileName, '');
}
$lock_fp = fopen($lockFileName ,"w");
flock($lock_fp, LOCK_EX);
try {
return $fuc();
} finally {
fclose($lock_fp);
}
}
// USAGE
// $count = 0;
// while(true) {
// lock('locktest', function() use (&$count) {
// print($count++ . "\n");
// sleep(1);
// });
// }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment