据我所知,如果另一个线程已经获取了锁,下面的代码将被阻塞。似乎可以通过
lock.acquire(0)
实现非阻塞,但是我必须使用 try-finally
块代替 with
块。lock = threading.Lock()
def func():
with lock:
# do something...
有没有一种方法可以实现非阻塞的锁获取?