我有一段代码
locked = lock.acquire(False)
if locked: break
根据python doc:
的 lock.aquire(假): -
在将blocking参数设置为False的情况下调用时,请勿阻止。如果阻塞设置为True的调用将阻塞,则立即返回False;否则,将锁定设置为锁定并返回True。
我完全明白他们说的是什么,但有人可以简化这一点,请解释我与上述代码的关系。
答案 0 :(得分:1)
默认情况下,lock.acquire将阻止线程的执行,直到另一个线程释放锁定为止。如果将block=False
传递给函数(如示例所示),则调用将不会阻止,并将立即返回。它的返回值指定您的线程是否实际获得了锁定。