Python 多线程实例详解

yipeiwu_com6年前Python基础

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

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

相关文章

Python类属性的延迟计算

所谓类属性的延迟计算就是将类的属性定义成一个property,只在访问的时候才会计算,而且一旦被访问后,结果将会被缓存起来,不用每次都计算。 优点 构造一个延迟计算属性的主要目的是为了提...

使用python+whoosh实现全文检索

whoosh的官方介绍:http://whoosh.readthedocs.io/en/latest/quickstart.html 因为做的是中文的全文检索需要导入jieba工具包以及...

python文件读写代码实例

实验室导师又有任务,从一个.dat文件中读取波形数据,通过一个自编码网络进行异常检测。可是对我这种小白来说真的艰难。从最基础的文件读写开始吧。 先说数据,是一个int16型的数组。说是数...

Python线程之定位与销毁的实现

Python线程之定位与销毁的实现

背景 开工前我就觉得有什么不太对劲,感觉要背锅。这可不,上班第三天就捅锅了。 我们有个了不起的后台程序,可以动态加载模块,并以线程方式运行,通过这种形式实现插件的功能。而模块更新时候,后...

Python批量按比例缩小图片脚本分享

图片太大了,上百张图用photoshop改太慢,就想到用python写个简单的批处理。功能简单就是把原图按比例缩小 复制代码 代码如下: # -*- coding: cp936 -*-&...