#!/usr/bin/python
#coding:utf-8
#引入线程和时间模块
import threading,time
#引入线程条件变量
cond = threading.Condition()
def run():
#使用with来使用线程条件变量
with cond:
#遍历数据,步长为2 ,既:0,2,4,6,8,10
for i in range(0,10,2):
#打印线程名称和步数 0
print threading.current_thread().name,i
#执行完成后等待信号(这里等待的是run1函数执行完打印步数和线程名称后的释放信号)
cond.wait()
#释放信号(这里是释放run1函数执行完打印步数和线程名称之后释放run1的信号)
cond.notify()
def run1():
#使用with来使用线程条件变量
with cond:
#遍历数据,步长为2 ,既:1,3,5,7,9
for i in range(1,10,2):
#打印线程名称和步数 1
print threading.current_thread().name,i
#释放信号(这里释放的是run打印完步数 0 的时候等待的信息)
cond.notify()
#等待信号(这里是run1执行完打印线程名称和步数后进入等待状态)
cond.wait()
if __name__=="__main__":
threading.Thread(target=run).start()
threading.Thread(target=run1).start()
输出的结果: