多线程并发实例

 1 import time
 2 import threading
 3 start = time.time()
 4 print('欢迎来到相声大会')
 5 def music(name):
 6         print(threading.current_thread())
 7         print('开始播放%s' %name)
 8         time.sleep(2)
 9         print('播放结束')
10 def movie(name):
11         print(threading.current_thread())
12         print('开始放映%s' %name)
13         time.sleep(5)
14         print('放映结束')
15 
16 # music('我想,我想')
17 # movie('肖申克的救赎')
18 
19 t1 = threading.Thread(target=music,args=('我想,我想',))        #创建线程t1
20 t2 = threading.Thread(target=movie,args=('肖申克的救赎',))        #创建线程t2
21 t1.setDaemon(True)    #t1守护主线程:主线程跑完后结束,不等t1
22 t2.setDaemon(True)    #t2守护主线程:主线程跑完后结束,不等t2
23 t1.start()     #启动线程
24 t2.start()
25 # t1.join()     #t1执行完之前,下面的主线程将阻塞
26 # t2.join()     #t2执行完之后,下面的主线程才可以开始。同上
27 print(threading.active_count())   #打印正在运行的线程数
28 print('晚会结束')
29 end = time.time()
30 print(end-start)
1.以上单线程执行7s,多线程执行5s。体现了多线程的优势
2.(1)守护线程是指:子线程守护主线程;
(2)主线程结束程序就结束,不用等子线程
(3)主线程不等守护者,但要等没守护者
原文地址:https://www.cnblogs.com/Finance-IT-gao/p/10595438.html