python中的线程阻塞
wait和notify这两个方法,这两个方法属于threading的Condition类,condition是一个条件变量,是用来控制复杂的线程之间的同步,每次创建Condition()对象内部初始化时会上一把锁,这样保证同一对象with安全;
wait() 从表面上看很简单,就是等待,一直阻塞着等待通知执行;
notify() 从表面上看也很简单,就是通知,通知阻塞线程执行;
用途:多线程中,对全局变量实现读写保护
用法:
import threading
from threading import Condition
condition = threading.Condition() # 创建对象,每次创建的对象不同
with condition:
condition.wait()
with condition:
condition.notify()