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 相关文章推荐
pyqt4教程之widget使用示例分享
Mar 07 Python
对于Python中线程问题的简单讲解
Apr 03 Python
python实现将汉字转换成汉语拼音的库
May 05 Python
人工智能最火编程语言 Python大战Java!
Nov 13 Python
python十进制和二进制的转换方法(含浮点数)
Jul 07 Python
Python中反射和描述器总结
Sep 23 Python
pytorch中的inference使用实例
Feb 20 Python
使用Django实现把两个模型类的数据聚合在一起
Mar 28 Python
DataFrame 数据合并实现(merge,join,concat)
Jun 14 Python
python读取图像矩阵文件并转换为向量实例
Jun 18 Python
python调用私有属性的方法总结
Jul 24 Python
Python基于argparse与ConfigParser库进行入参解析与ini parser
Feb 02 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生成二维码时出现中文乱码的解决方法
2014/12/18 PHP
PHP 使用memcached简单示例分享
2015/03/05 PHP
PHP+redis实现添加处理投票的方法
2015/11/14 PHP
JavaScript 嵌套函数指向this对象错误的解决方法
2010/03/15 Javascript
网页源代码保护(禁止右键、复制、另存为、查看源文件)
2012/05/23 Javascript
jQuery焦点图切换特效插件封装实例
2013/08/18 Javascript
javascript日期对象格式化为字符串的实现方法
2014/01/14 Javascript
javascript在网页中实现读取剪贴板粘贴截图功能
2014/06/07 Javascript
详解VueRouter进阶之导航钩子和路由元信息
2017/09/13 Javascript
XMLHttpRequest对象_Ajax异步请求重点(推荐)
2017/09/28 Javascript
JS实现图片转换成base64的各种应用场景实例分析
2018/06/22 Javascript
获取layer.open弹出层的返回值方法
2018/08/20 Javascript
Vue.js 十五分钟入门图文教程
2018/09/12 Javascript
基于JavaScript实现留言板功能
2020/03/16 Javascript
js屏蔽F12审查元素,禁止修改页面代码等实现代码
2020/10/02 Javascript
详解ES6 中的Object.assign()的用法实例代码
2021/01/11 Javascript
element el-table表格的二次封装实现(附表格高度自适应)
2021/01/19 Javascript
ubuntu系统下 python链接mysql数据库的方法
2017/01/09 Python
Python中%r和%s的详解及区别
2017/03/16 Python
python遍历一个目录,输出所有的文件名的实例
2018/04/23 Python
Python中交换两个元素的实现方法
2018/06/29 Python
python3基于OpenCV实现证件照背景替换
2018/07/18 Python
python去除拼音声调字母,替换为字母的方法
2018/11/28 Python
python的sorted用法详解
2019/06/25 Python
Django之使用celery和NGINX生成静态页面实现性能优化
2019/10/08 Python
解决Python在导入文件时的FileNotFoundError问题
2020/04/10 Python
使用PyQt5实现图片查看器的示例代码
2020/04/21 Python
基于python调用jenkins-cli实现快速发布
2020/08/14 Python
jupyter notebook远程访问不了的问题解决方法
2021/01/11 Python
html5 css3实例教程 一款html5和css3实现的小机器人走路动画
2014/10/20 HTML / CSS
美国在线工具商店:Acme Tools
2018/06/26 全球购物
华为的Java面试题
2014/03/07 面试题
应聘护士自荐信
2013/10/21 职场文书
家长评语大全
2014/01/22 职场文书
慈善献爱心倡议书
2015/04/27 职场文书
基于HTML十秒做出淘宝页面
2021/10/24 HTML / CSS