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计算N天之后日期的方法
Mar 31 Python
Python中set与frozenset方法和区别详解
May 23 Python
在cmd中运行.py文件: python的操作步骤
May 12 Python
浅谈Pycharm调用同级目录下的py脚本bug
Dec 03 Python
python二维码操作:对QRCode和MyQR入门详解
Jun 24 Python
对python中不同模块(函数、类、变量)的调用详解
Jul 16 Python
pytorch之Resize()函数具体使用详解
Feb 27 Python
python正则表达式的懒惰匹配和贪婪匹配说明
Jul 13 Python
Python:__eq__和__str__函数的使用示例
Sep 26 Python
Python+Appium新手教程
Apr 17 Python
pytorch损失反向传播后梯度为none的问题
May 12 Python
Django REST framework 限流功能的使用
Jun 24 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 chr() ord()中文截取乱码问题解决方法
2008/09/08 PHP
PHP中的float类型使用说明
2010/07/27 PHP
让PHP更快的提供文件下载的代码
2012/06/13 PHP
php动态添加url查询参数的方法
2015/04/14 PHP
5款适合PHP使用的HTML编辑器推荐
2015/07/03 PHP
浅谈Yii乐观锁的使用及原理
2017/07/25 PHP
JS 进度条效果实现代码整理
2011/05/21 Javascript
jquery原创弹出层折叠效果点击折叠弹出一个层
2014/03/12 Javascript
js图片实时加载提供网页打开速度
2014/09/11 Javascript
jQuery实现向下滑出的平滑下拉菜单效果
2015/08/21 Javascript
jQuery获取与设置iframe高度的方法
2016/08/01 Javascript
Angular 4.x 路由快速入门学习
2017/05/03 Javascript
JS正则表达式完美实现身份证校验功能
2017/10/18 Javascript
ActiveX控件的使用-js实现打印超市小票功能代码详解
2017/11/22 Javascript
讲解vue-router之什么是嵌套路由
2018/05/28 Javascript
Node.js 使用axios读写influxDB的方法示例
2018/10/26 Javascript
Vue2.0实现组件之间数据交互和通信操作示例
2019/05/16 Javascript
JS实现提示框跟随鼠标移动
2019/08/27 Javascript
javascript解析json格式的数据方法详解
2020/08/07 Javascript
在ironpython中利用装饰器执行SQL操作的例子
2015/05/02 Python
实例解析Python设计模式编程之桥接模式的运用
2016/03/02 Python
python itchat实现微信自动回复的示例代码
2017/08/14 Python
python实现简易数码时钟
2021/02/19 Python
对Django url的几种使用方式详解
2019/08/06 Python
HTML5和CSS3让网页设计提升到下一个高度
2009/08/14 HTML / CSS
HTML5 canvas实现雪花飘落特效
2016/03/08 HTML / CSS
屈臣氏菲律宾官网:Watsons菲律宾
2020/06/30 全球购物
SQL里面如何插入自动增长序列号字段
2012/03/29 面试题
宿舍打麻将检讨书
2014/01/24 职场文书
公司开业庆典主持词
2014/03/21 职场文书
初中学校军训方案
2014/05/09 职场文书
食品质检员岗位职责
2015/04/08 职场文书
银行安全保卫工作总结
2015/08/10 职场文书
老生常谈 使用 CSS 实现三角形的技巧(多种方法)
2021/04/13 HTML / CSS
基于Redis延迟队列的实现代码
2021/05/13 Redis
Nginx报错104:Connection reset by peer问题的解决及分析
2022/07/23 Servers