本文实例讲述了python开发之thread线程基础。分享给大家供大家参考,具体如下:
说到线程,我们要知道啥是串行,啥是并行程序
举个例子:
串行程序,就是一个一个的执行程序
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
#python threading
import time
'''
每一秒中,输出:this is a demo!
'''
def serial():
'''串行输出'''
time.sleep( 1 )
print ( 'this is a demo!' )
def main():
for i in range ( 5 ):
serial()
if __name__ = = '__main__' :
main()
|
运行结果如下:
1
2
3
4
5
6
7
|
>>>
this is a demo!
this is a demo!
this is a demo!
this is a demo!
this is a demo!
>>>
|
并行程序,就是很多个程序在同一时间(宏观)一起执行
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
#python threading
import threading
import time
'''
并行执行,输出:Good!Good!Good!Good!Good!
'''
def parallel():
'''并行输出'''
time.sleep( 1 )
print ( 'Good!' )
def main():
for i in range ( 5 ):
t = threading.Thread(target = parallel)
t.start()
if __name__ = = '__main__' :
main()
|
当然我们通过执行程序,可以知道,并行程序要比串行程序执行的要快....
我们也可以获取到当前的线程及个数:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
#python threading
import threading
import time
'''
并行执行,输出:
[<Thread(Thread-2, started 3480)>, <Thread(Thread-1, started 660)>,
<Thread(SockThread, started daemon 2920)>, <Thread(Thread-3, started 916)>,
<Thread(Thread-4, started 3476)>, <_MainThread(MainThread, started 3964)>,
<Thread(Thread-5, started 2060)>]
存在的线程数 : 7
Good!Good!Good!Good!Good!
'''
def parallel():
'''并行输出'''
time.sleep( 1 )
print ( 'Good!' )
def main():
for i in range ( 5 ):
t = threading.Thread(target = parallel)
t.start()
if __name__ = = '__main__' :
main()
print (threading. enumerate ())
print ( '存在的线程数 : %d' % threading.active_count())
|
运行结果如下:
1
2
3
4
|
>>>
[<Thread(SockThread, started daemon 15424 )>, <Thread(Thread - 3 , started 15840 )>, <Thread(Thread - 1 , started 10884 )>, <Thread(Thread - 2 , started 14512 )>, <Thread(Thread - 4 , started 13204 )>, <_MainThread(MainThread, started 12924 )>, <Thread(Thread - 5 , started 15476 )>]
存在的线程数 : 7
>>> Good!Good!Good!Good!Good!
|
希望本文所述对大家Python程序设计有所帮助。