import time
from threading import Thread


def play(n):
    while  n > 0:
        print('玩游戏',n)
        n -= 1
        time.sleep(2)
t = Thread(target=play,args=(5,))
t.start()

 

if t.is_alive():
    print('线程还活着')
else:
    print('线程执行完毕')

 

t = Thread(target=play,args=(5,),daemon=True)
t.start()

 

 

 

import time
from threading import Thread, Event


def play(n,started_evt):
    print('启动')
    started_evt.set()
    while  n > 0:
        print('玩游戏',n)
        n -= 1
        time.sleep(2)

started_evt = Event()
print('执行之前')
t = Thread(target=play,args=(10,started_evt))
t.start()
started_evt.wait()
print('执行后')
结果:
执行之前
启动
玩游戏 10
执行后
玩游戏 9
玩游戏 8
玩游戏 7
玩游戏 6
玩游戏 5
玩游戏 4
玩游戏 3
玩游戏 2
玩游戏 1

 

from queue import Queue
from threading import Thread


def producter(out_q):
    while True:
        print("生产资源")
        data = '消费资源'
        out_q.put(data)

def consumer(in_q):
    while True:
        data = in_q.get()
        print(data)
        
q = Queue()
t1 = Thread(target=consumer,args=(q,))
t2 = Thread(target=producter,args=(q,))
t1.start()
t2.start()

9.python并发编程总结

Python多线程案例 python多线程程序_python