多线程通常是新开一个后台线程去处理比较耗时的操作,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