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的Django框架中的静态资源管理器django-pipeline
Apr 25 Python
在Python中处理日期和时间的基本知识点整理汇总
May 22 Python
python黑魔法之参数传递
Feb 12 Python
Python中函数eval和ast.literal_eval的区别详解
Aug 10 Python
python图像常规操作
Nov 11 Python
python 输出所有大小写字母的方法
Jan 02 Python
numpy.where() 用法详解
May 27 Python
Python3批量生成带logo的二维码方法
Jun 24 Python
python多线程分块读取文件
Aug 29 Python
Python网络爬虫四大选择器用法原理总结
Jun 01 Python
Python实现异步IO的示例
Nov 05 Python
python cv2图像质量压缩的算法示例
Jun 04 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实现多服务器共享SESSION数据的方法
2007/03/16 PHP
使用Xdebug调试和优化PHP程序之[1]
2007/04/17 PHP
PHP FOR MYSQL 代码生成助手(根据Mysql里的字段自动生成类文件的)
2011/07/23 PHP
一组PHP可逆加密解密算法实例代码
2014/01/21 PHP
PHP中把stdClass Object转array的几个方法
2014/05/08 PHP
php获取本周星期一具体日期的方法
2015/04/20 PHP
让firefox支持IE的一些方法的javascript扩展函数代码
2010/01/02 Javascript
jQuery 选择器、DOM操作、事件、动画
2010/11/25 Javascript
js有关元素内容操作小结
2011/12/20 Javascript
原生javaScript实现图片延时加载的方法
2014/12/22 Javascript
JS实现简洁、全兼容的拖动层实例
2015/05/13 Javascript
JavaScript阻止回车提交表单的方法
2015/12/30 Javascript
基于JS实现省市联动效果代码分享
2016/06/06 Javascript
js style.display=block显示布局错乱问题的解决方法
2016/09/21 Javascript
jQuery继承extend用法详解
2016/10/10 Javascript
jQuery实现的分页功能示例
2017/01/22 Javascript
详解微信小程序之一键复制到剪切板
2019/04/24 Javascript
jQuery控制input只能输入数字和两位小数的方法
2019/05/16 jQuery
详解datagrid使用方法(重要)
2020/11/06 Javascript
[01:23:35]Ti4主赛事胜者组 DK vs EG 1
2014/07/19 DOTA
浅析Python函数式编程
2018/10/06 Python
用python实现英文字母和相应序数转换的方法
2019/09/18 Python
pandas分组聚合详解
2020/04/10 Python
C++和python实现阿姆斯特朗数字查找实例代码
2020/12/07 Python
德国家用电器购物网站:Premiumshop24
2019/08/22 全球购物
初一科学教学反思
2014/01/27 职场文书
财务总监管理职责范文
2014/03/09 职场文书
关于安全的标语
2014/06/10 职场文书
验房委托书
2014/08/30 职场文书
乡镇领导班子四风对照检查材料
2014/09/27 职场文书
学校运动会广播稿范文
2014/10/02 职场文书
办公室主任岗位职责范本
2015/03/31 职场文书
销售经理助理岗位职责
2015/04/13 职场文书
2015年个人工作总结报告
2015/04/25 职场文书
pytorch中Schedule与warmup_steps的用法说明
2021/05/24 Python
golang中字符串MD5生成方式总结
2021/07/04 Golang