Pyhthon中的阻塞和C#/C++的阻塞标志用法完全一样,下面通过实例说明
import threading
from time import sleep
event = threading.Event() # 阻塞对象,类似于C#中ManaulResetEvent
def main():
t = threading.Thread(target = dowork) # 创建线程
t.start() # 启动线程
sleep(200) # 休眠200ms
event.set() # 不阻塞,类似与C#ManualReset.Set
def dowork():
for i in range(5):
print(i) # 打印数字
event.wait() # 阻塞,类似与C#ManualReset.WaitOne
event.clear() # 重置标志位Flase,类似与C#ManualReset.Reset
if __name__ == "__main__":
main()
最后输出只有0,而且程序不会退出,而是一直阻塞