Lock.acquire(False)呢?

时间:2017-04-18 07:28:11

标签: python locking

我有一段代码

    locked = lock.acquire(False)
        if locked:  break

根据python doc:
lock.aquire(假): - 在将blocking参数设置为False的情况下调用时,请勿阻止。如果阻塞设置为True的调用将阻塞,则立即返回False;否则,将锁定设置为锁定并返回True。 我完全明白他们说的是什么,但有人可以简化这一点,请解释我与上述代码的关系。

1 个答案:

答案 0 :(得分:1)

默认情况下,lock.acquire将阻止线程的执行,直到另一个线程释放锁定为止。如果将block=False传递给函数(如示例所示),则调用将不会阻止,并将立即返回。它的返回值指定您的线程是否实际获得了锁定。