多线程通常是新开一个后台线程去处理比较耗时的操作,Python做后台线程处理也是很简单的,今天从官方文档中找到了一个Demo.
实例代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
import threading, zipfile class AsyncZip(threading.Thread): def __init__( self , infile, outfile): threading.Thread.__init__( self ) self .infile = infile self .outfile = outfile def run( self ): f = zipfile.ZipFile( self .outfile, 'w' , zipfile.ZIP_DEFLATED) f.write( self .infile) f.close() print ( 'Finished background zip of:' , self .infile) background = AsyncZip( 'mydata.txt' , 'myarchive.zip' ) background.start() print ( 'The main program continues to run in foreground.' ) background.join() # Wait for the background task to finish print ( 'Main program waited until background was done.' ) |
结果:
1
2
3
4
|
The main program continues to run in foreground. Finished background zip of: mydata.txt Main program waited until background was done. Press any key to continue . . . |
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
原文链接:http://blog.csdn.net/afandaafandaafanda/article/details/45952875