首页 linux 应用正文

python中thread的简单使用

helight0 linux 应用 2013-02-05 37 0 mysql

今天在整理一个pyton的脚本,功能是以http+json返回数据拉去线上一些模块的状态信息,一般在5分钟以内就可以跑完,昨天开始由于原始数据太多了,结果搞得5分钟跑不完了,后面的数据统计就有点乱了,仔细分析看了看之后是在网络数据拉去上花费的时间比较多,原来是单进程,单线程的,就想着如果修改成多线程会好一点,python种线程使用还是比较简单的了,从threading.thread继承了一个线程类,类里面直接编写__init__, run, __del__方法,这样就是一个基本的线程类了 class ProcessMode(threading.Thread): def __init__(self, args....): threading.Thread.__int__(self) some_other_init... def run(self): do_process(args.....) def __del__(self): some_del_options 在调用的时候 threads = [] xpthread = ProcessModle(args....) threads.append(xpthread) for t in threads: t.start() # 启动线程 for t in threads: t.join() #等待线程全部结束 搞定后测试发现效果不错,原来要5分钟搞定的事情,现在1分钟多一些就可以搞定了,当然里面还有其他比较多的优化点:全局变量的局部化(有些变量就没有必要设置为全局变量),sql插入语句简化,由原来的多条sql语句合并成一个sql+多values的形式,提高mysql的提交效率。

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

评论