Python——多线程

import time
import threading
 
def f0():
    pass
 
def f1(a1,a2):
    time.sleep(5)
    f0()
    
t= threading.Thread(target=f1,args=(111,112))#创建线程
t.setDaemon(True)#设置为后台线程,这里默认是False,设置为True之后则主线程不用等待子线程
t.start()#开启线程
 
t = threading.Thread(target=f1, args=(111, 112))
t.start()
 
t = threading.Thread(target=f1, args=(111, 112))
t.start()
#默认情况下程序会等线程全部执行完毕才停止的,不过可以设置更改为后台线程,使主线程不等待子线程,主线程结束则全部结束
import threading
import time
def do(event):
    print('start')
    event.wait()#红灯,所有线程执行都这里都在等待
    print('end')
 
event_obj = threading.Event()#创建一个事件
for i in range(10):#创建10个线程
    t= threading.Thread(target=do,args=(event_obj,))
    t.start()
 
time.sleep(5)
 
 
event_obj.clear()#让灯变红,默认也是红的,阻塞所有线程运行
data= input('请输入要:')
if data =='True':
    event_obj.set()#变绿灯

Python——多线程