python开发_thread_线程基础

时间:2022-06-10
本文章向大家介绍python开发_thread_线程基础,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

说到线程,我们要知道啥是串行,啥是并行程序

举个例子:

串行程序,就是一个一个的执行程序

 1 #python threading
 2 
 3 import time
 4 '''
 5     每一秒中,输出:this is a demo!
 6 '''
 7 
 8 def serial():
 9     '''串行输出'''
10     time.sleep(1)
11     print('this is a demo!')
12 
13 def main():
14     for i in range(5):
15         serial()
16 
17 if __name__ == '__main__':
18     main()

并行程序,就是很多个程序在同一时间(宏观)一起执行

 1 #python threading
 2 
 3 import threading
 4 import time
 5 '''
 6     并行执行,输出:Good!Good!Good!Good!Good!
 7 '''
 8 
 9 def parallel():
10     '''并行输出'''
11     time.sleep(1)
12     print('Good!')
13 
14 def main():
15     for i in range(5):
16         t = threading.Thread(target=parallel)
17         t.start()
18 
19 if __name__ == '__main__':
20     main()

当然我们通过执行程序,可以知道,并行程序要比串行程序执行的要快....

我们也可以获取到当前的线程及个数:

 1 #python threading
 2 
 3 import threading
 4 import time
 5 '''
 6     并行执行,输出:
 7     [<Thread(Thread-2, started 3480)>, <Thread(Thread-1, started 660)>,
 8     <Thread(SockThread, started daemon 2920)>, <Thread(Thread-3, started 916)>,
 9     <Thread(Thread-4, started 3476)>, <_MainThread(MainThread, started 3964)>,
10     <Thread(Thread-5, started 2060)>]
11     存在的线程数 : 7
12     Good!Good!Good!Good!Good!
13 '''
14 
15 def parallel():
16     '''并行输出'''
17     time.sleep(1)
18     print('Good!')
19 
20 def main():
21     for i in range(5):
22         t = threading.Thread(target=parallel)
23         t.start()
24 
25 if __name__ == '__main__':
26     main()
27     print(threading.enumerate())
28     print('存在的线程数 : %d'%threading.active_count())

E | hongtenzone@foxmail.com  B | http://www.cnblogs.com/hongten