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应用程序步骤及版本冲突问题解决
Nov 19 Python
python根据开头和结尾字符串获取中间字符串的方法
Mar 26 Python
python如何查看系统网络流量的信息
Sep 12 Python
利用python爬取软考试题之ip自动代理
Mar 28 Python
Python科学画图代码分享
Nov 29 Python
Python基于列表模拟堆栈和队列功能示例
Jan 05 Python
python处理DICOM并计算三维模型体积
Feb 26 Python
python读csv文件时指定行为表头或无表头的方法
Jun 26 Python
python科学计算之numpy——ufunc函数用法
Nov 25 Python
Python连接SQLite数据库并进行增册改查操作方法详解
Feb 18 Python
tensorflow中的数据类型dtype用法说明
May 26 Python
python工具dtreeviz决策树可视化和模型可解释性
Mar 03 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设计模式 Prototype (原型模式)代码
2011/06/26 PHP
PHP连接SQLServer2005的方法
2015/01/27 PHP
基于thinkPHP实现的微信自定义分享功能示例
2016/09/23 PHP
PHP超全局变量实现原理及代码解析
2020/09/01 PHP
IE中radio 或checkbox的checked属性初始状态下不能选中显示问题
2009/07/25 Javascript
javaScript call 函数的用法说明
2010/04/09 Javascript
Extjs4 Treegrid 使用心得分享(经验篇)
2013/07/01 Javascript
js禁止页面使用右键(简单示例代码)
2013/11/13 Javascript
深入理解Javascript动态方法调用与参数修改的问题
2013/12/10 Javascript
jquery动态添加option示例
2013/12/30 Javascript
Flash图片上传组件 swfupload使用指南
2015/03/14 Javascript
JavaScript中的this到底是什么(一)
2015/12/09 Javascript
在AngularJS框架中处理数据建模的方式解析
2016/03/05 Javascript
JavaScript入门教程之引用类型
2016/05/04 Javascript
JavaScript知识点总结(六)之JavaScript判断变量数据类型
2016/05/31 Javascript
JavaScript事件学习小结(三)js事件对象
2016/06/09 Javascript
总结JavaScript的正则与其他语言的不同之处
2016/08/25 Javascript
React-native桥接Android原生开发详解
2018/01/17 Javascript
React组件refs的使用详解
2018/02/09 Javascript
移动端图片上传旋转、压缩问题的方法
2018/10/16 Javascript
[03:12]完美世界DOTA2联赛PWL DAY9集锦
2020/11/10 DOTA
python基础教程之简单入门说明(变量和控制语言使用方法)
2014/03/25 Python
Python使用functools模块中的partial函数生成偏函数
2016/07/02 Python
Python实现确认字符串是否包含指定字符串的实例
2018/05/02 Python
基于Python新建用户并产生随机密码过程解析
2019/10/08 Python
python3图片文件批量重命名处理
2019/10/31 Python
Python 切分数组实例解析
2019/11/07 Python
pandas数据处理之绘图的实现
2020/06/15 Python
HTML5实现桌面通知 提示功能
2017/10/11 HTML / CSS
计算机开发个人求职信范文
2013/09/26 职场文书
解除财产保全担保书
2014/05/20 职场文书
超市理货员岗位职责
2014/07/04 职场文书
优秀家长自荐材料
2014/08/26 职场文书
学校党的群众路线教育实践活动制度建设计划
2014/11/03 职场文书
孝老爱亲事迹材料
2014/12/24 职场文书
投标售后服务承诺书
2015/04/29 职场文书