说到线程,我们要知道啥是串行,啥是并行程序
举个例子:
串行程序,就是一个一个的执行程序
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