线程学习:根据时间变化触发其它线程
输出本地时间:
import time
localtime = time.localtime(time.time())
print ("本地时间为 :", localtime)
计算时间消耗:
方法一:time.sleep
import time
print "Start : %s" % time.ctime()
time.sleep( 5 )
print "End : %s" % time.ctime()
运行结果:
方法二:直接计算
循环终止:
for letter in 'Python': # 第一个实例
if letter == 'h':
break
print '当前字母 :', letter
var = 10 # 第二个实例
while var > 0:
print '当前变量值 :', var
var = var -1
if var == 5: # 当变量 var 等于 5 时退出循环
break
print "Good bye!"
实例:第一个线程中获取当前时间,判断当前时间3秒之后,触发“事件” 对象。在另
一个线程中,作为数学考试结束的判断变量,否则一直处于考试中,并打印。
import threading#导入线程类
import time #导入时间类
class timethread(threading.Thread):#定义事件监听类继承于Thread类
def run(self):
time.sleep(3) #延时3秒
if_test.set()# 设置事件响应
class testthread(threading.Thread):#自定义线程类继承于Thread类
def run(self):
while(True): #循环检测
print("考试中") #未触发时输出考试状态
time.sleep(1) #每秒输出一次
if if_test.is_set(): #如果响应则输出考试结束并跳出循环
print("考试结束")
break
#主线程
if __name__=='__main__':
#重定义
if_test=threading.Event()
#创建线程1和线程2并传入参数
x1 = timethread()
x2= testthread()
#开启线程
x1.start()
x2.start()