Python 多线程实例详解

325次阅读  |  发布于5年以前

Python 多线程实例详解

多线程通常是新开一个后台线程去处理比较耗时的操作,Python做后台线程处理也是很简单的,今天从官方文档中找到了一个Demo.

实例代码:


    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.') 

结果:


    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 . . . 

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8