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 相关文章推荐
python3 模拟登录v2ex实例讲解
Jul 13 Python
Python轻量级ORM框架Peewee访问sqlite数据库的方法详解
Jul 20 Python
python使用logging模块发送邮件代码示例
Jan 18 Python
ERLANG和PYTHON互通实现过程详解
Jul 05 Python
Python高级特性——详解多维数组切片(Slice)
Nov 26 Python
Python+Redis实现布隆过滤器
Dec 08 Python
python爬虫添加请求头代码实例
Dec 28 Python
使用tensorflow实现矩阵分解方式
Feb 07 Python
解决Tensorflow2.0 tf.keras.Model.load_weights() 报错处理问题
Jun 12 Python
Python将字典转换为XML的方法
Aug 01 Python
Python引入多个模块及包的概念过程解析
Sep 21 Python
python urllib和urllib3知识点总结
Feb 08 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 文本文章分页代码 按标记或长度(不涉及数据库)
2012/06/07 PHP
基于PHP读取csv文件内容的详解
2013/06/18 PHP
php时间戳格式化显示友好的时间函数分享
2014/10/21 PHP
PHP+Javascript实现在线拍照功能实例
2015/07/18 PHP
php实现转换html格式为文本格式的方法
2016/05/16 PHP
通过PHP的Wrapper无缝迁移原有项目到新服务的实现方法
2020/04/02 PHP
php中yii框架实例用法
2020/12/22 PHP
escape、encodeURI 和 encodeURIComponent 的区别
2009/03/02 Javascript
使用JavaScript实现Java的List功能(实例讲解)
2013/11/07 Javascript
XMLHttpRequest处理xml格式的返回数据(示例代码)
2013/11/21 Javascript
jQuery中:password选择器用法实例
2015/01/03 Javascript
javascript中传统事件与现代事件
2015/06/23 Javascript
纯javascript响应式树形菜单效果
2015/11/10 Javascript
再谈javascript注入 黑客必备!
2016/09/14 Javascript
JS实现太极旋转思路分析
2016/12/09 Javascript
javascript prototype原型详解(比较基础)
2016/12/26 Javascript
深入理解JavaScript 中的匿名函数((function() {})();)与变量的作用域
2018/08/28 Javascript
详解Vue+ElementUI从零开始搭建自己的网站(一、环境搭建)
2019/04/30 Javascript
详解element-ui中el-select的默认选择项问题
2019/08/02 Javascript
keep-alive不能缓存多层级路由菜单问题解决
2020/03/10 Javascript
element-ui点击查看大图的方法示例
2020/12/14 Javascript
python django集成cas验证系统
2014/07/14 Python
使用python编写脚本获取手机当前应用apk的信息
2014/07/21 Python
Numpy中的mask的使用
2018/07/21 Python
Python操作mongodb数据库的方法详解
2018/12/08 Python
python实现月食效果实例代码
2019/06/18 Python
手写一个python迭代器过程详解
2019/08/27 Python
python 画3维轨迹图并进行比较的实例
2019/12/06 Python
pytorch使用tensorboardX进行loss可视化实例
2020/02/24 Python
Python爬虫requests库多种用法实例
2020/05/28 Python
用HTML5 Canvas API中的clearRect()方法实现橡皮擦功能
2016/03/15 HTML / CSS
程序员机试试题汇总
2012/03/07 面试题
优秀大学生的自我评价
2014/01/16 职场文书
学校庆元旦歌咏比赛主持词
2014/03/18 职场文书
处级干部反四风个人对照检查材料思想汇报
2014/09/27 职场文书
DIY胆机必读:各国电子管评价
2022/04/06 无线电