Python开启线程,在函数中开线程的实例


Posted in Python onFebruary 22, 2019

逻辑处理上分成了多个模块,为了提高效率,前一个模块处理完调用后一个模块操作时使用多线程

我这里遇到的情形是前面取数据后面存到mysql,发现单线程效率很低,改为取数据后开线程存到mysql

开启线程之后性能提升一倍,同时用信号量做线程同步,控制数据库同时连接数

这里只是简单的一个demo,主要是开线程的处理方式,在自己类里面的函数中开启线程,并用自己类的成员函数做线程运行函数。

#coding=utf-8
import threading

class Test:
  __init = 1

  def __init__(self):
    self.__sem = threading.Semaphore(value=5)#初始化信号量,最大并发数
    return

  def handle(self, data):
    #开启线程,传入参数
    _thread = threading.Thread(target=self.__run, args=(data,))
    _thread.setDaemon(True)
    _thread.start()#启动线程
    return

  def __run(self, data):
    self.__sem.acquire()#信号量减1
    self.__init +=data
    print(self.__init)
    self.__sem.release()#信号量加1
    return

if __name__=="__main__":
  test = Test()
  test.handle(1)
  print("end")

以上这篇Python开启线程,在函数中开线程的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python文件操作相关知识点总结整理
Feb 22 Python
深入浅出分析Python装饰器用法
Jul 28 Python
Python检查和同步本地时间(北京时间)的实现方法
Dec 03 Python
python requests.post带head和body的实例
Jan 02 Python
python多个模块py文件的数据共享实例
Jan 11 Python
python图的深度优先和广度优先算法实例分析
Oct 26 Python
Python高级property属性用法实例分析
Nov 19 Python
Pycharm中Python环境配置常见问题解析
Jan 16 Python
python opencv 实现读取、显示、写入图像的方法
Jun 08 Python
Keras在训练期间可视化训练误差和测试误差实例
Jun 16 Python
python实例化对象的具体方法
Jun 17 Python
python 模块导入问题汇总
Feb 01 Python
python 多线程串行和并行的实例
Feb 22 #Python
Python OOP类中的几种函数或方法总结
Feb 22 #Python
VSCode Python开发环境配置的详细步骤
Feb 22 #Python
python中logging模块的一些简单用法的使用
Feb 22 #Python
Python 限制线程的最大数量的方法(Semaphore)
Feb 22 #Python
Python3.6.x中内置函数总结及讲解
Feb 22 #Python
python自定义线程池控制线程数量的示例
Feb 22 #Python
You might like
php不用正则采集速度探究总结
2008/03/24 PHP
php数字游戏 计算24算法
2012/06/10 PHP
php实现微信发红包
2015/12/05 PHP
php文件上传的两种实现方法
2016/04/04 PHP
javascript web对话框与弹出窗口
2009/02/22 Javascript
JavaScript 用cloneNode方法克隆节点的代码
2012/10/15 Javascript
jquery中的on方法使用介绍
2013/12/29 Javascript
js拼接html字符串的注意事项
2016/10/13 Javascript
js实现增加数字显示的环形进度条效果
2017/02/05 Javascript
详解微信小程序设置底部导航栏目方法
2017/06/29 Javascript
Vue.js+Layer表格数据绑定与实现更新的实例
2018/03/07 Javascript
详解Vue基于vue-quill-editor富文本编辑器使用心得
2019/01/03 Javascript
[04:15]DOTA2-DPC中国联赛 正赛 Ehome vs Aster 选手采访
2021/03/11 DOTA
初学python数组的处理代码
2011/01/04 Python
Python urllib模块urlopen()与urlretrieve()详解
2013/11/01 Python
python计算一个序列的平均值的方法
2015/07/11 Python
Python命令启动Web服务器实例详解
2017/02/23 Python
Python基于回溯法子集树模板解决马踏棋盘问题示例
2017/09/11 Python
Python读取word文本操作详解
2018/01/22 Python
详解Python函数式编程—高阶函数
2019/03/29 Python
python随机生成大小写字母数字混合密码(仅20行代码)
2020/02/01 Python
pytorch dataloader 取batch_size时候出现bug的解决方式
2020/02/20 Python
python中 _、__、__xx__()区别及使用场景
2020/06/30 Python
爱淘宝:淘宝网购物分享平台
2017/04/28 全球购物
城建学院毕业生自荐信
2014/01/31 职场文书
人资专员岗位职责
2014/04/04 职场文书
信息员培训方案
2014/06/12 职场文书
生产助理岗位职责
2014/06/18 职场文书
计划生育个人总结
2015/03/02 职场文书
工作犯错保证书
2015/05/11 职场文书
辩护词范文大全
2015/05/21 职场文书
初中思品教学反思
2016/02/20 职场文书
JS继承最简单的理解方式
2021/03/31 Javascript
Vue.js 带下拉选项的输入框(Textbox with Dropdown)组件
2021/04/17 Vue.js
Vue Element UI自定义描述列表组件
2021/05/18 Vue.js
【js设计模式】SOLID五大设计原则
2022/03/24 Javascript