swoole_lock->lock_read [编辑本页]

只读加锁。lock_read方法表示仅锁定读。

  • 在持有读锁的过程中,其他进程依然可以获得读锁,可以继续发生读操作
  • 但不能$lock->lock()$lock->trylock(),这两个方法是获取独占锁,在独占锁加锁时,其他进程无法再进行任何加锁操作,包括读锁
  • 当另外一个进程获得了独占锁(调用$lock->lock/$lock->trylock)时,$lock->lock_read()会发生阻塞,直到持有独占锁的进程释放锁

只有SWOOLE_RWLOCKSWOOLE_FILELOCK类型的锁支持只读加锁