lock()) { test(''); $lock2->unlock(); } } // 并发测试-并发判断回调(callbacktest.file) $lock1 = new \Yurun\Until\Lock\File('test1'); $result = $lock1->lock( function(){ // 加锁后处理的任务 test('callback'); }, function(){ // 判断是否其它并发已经处理过任务 return !canTest('callback'); } ); switch($result) { case LockConst::LOCK_RESULT_CONCURRENT_COMPLETE: // 其它请求已处理 break; case LockConst::LOCK_RESULT_CONCURRENT_UNTREATED: // 在当前请求处理 break; case LockConst::LOCK_RESULT_FAIL: echo '获取锁失败', PHP_EOL; break; }