import threading
import time
cond = threading.Condition() # Condition 线程条件变量
def run1():
with cond:
for i in range(0, 10, 2):
print(threading.current_thread().name, i)
time.sleep(2)
cond.wait() # 控制当前线程等待
cond.notify() # 通知下一线程执行
def run2():
with cond:
for i in range(1, 10, 2):
print(threading.current_thread().name, i)
time.sleep(2)
cond.notify()
cond.wait()
t1 = threading.Thread(target=run1).start()
t2 = threading.Thread(target=run2).start()