mutex = threading.Lock()
mutexFlag = mutex.acquire(True) # True表示堵塞 if mutexFlag: if not 其他布尔值变量: mutex.release() # 解锁 continue
说明:当程序执行到 mutexFlag = mutex.acquire(True) 的时候,会开启互斥锁,但是依然会向下执行一次,即执行到 if not 其他布尔值变量: 这时可以利用 其他布尔值变量来进行解锁操作,如没有解锁,那当程序放在循环中,下一次执行到 **mutexFlag = mutex.acquire(True)**的时候便会 阻塞 住了
总结,第一次阻塞语句创建(mutexFlag = mutex.acquire(True))仍会向下执行完本次循环,下一次循环到来的时候才会真正阻塞循环