线程间的交互:事件Event

 线程间的交互:

事件event:用于线程间的交互,如:A线程要等待B线程运行完之后再运行,就可以在B线程中e.set,A线程中设置e.wait

方法:

event.isSet():返回event状态值False或True

event.wait()如果event状态为False,将阻塞线程

event.set()默认设定event为True

event.clear()恢复event的状态为False

from threading import Thread,Event
import os,time
e = Event()

def light():
    time.sleep(5)
    print('light is fun')
    e.set()

def car():
    print('<%s> the car is waiting '%os.getpid())
    e.wait()
    print('<%s> the car is running'%os.getpid())

if __name__ == '__main__':
    for i in range(10):
        t = Thread(target=car)
        t.start()
    t2 = Thread(target=light)
    t2.start()
event事件

定时器timer

from threading import Timer
 
 
def hello():
    print("hello, world")
 
t = Timer(1, hello)
t.start()  # after 1 seconds, "hello, world" will be printed
制定进程定时进行操作

队列Queue

class queue.PriorityQueue(maxsize=0) #存储数据时可设置优先级的队列

class queue.LifoQueue(maxsize=0) #last in fisrt out 

 

class queue.Queue(maxsize=0) #先进先

转载于:https://www.cnblogs.com/weiyumangmang/p/7453266.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值