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图像处理之反色实现方法
May 30 Python
基于Python os模块常用命令介绍
Nov 03 Python
Django中url的反向查询的方法
Mar 14 Python
Python threading的使用方法解析
Aug 28 Python
使用Pytorch来拟合函数方式
Jan 14 Python
Pytorch中的自动求梯度机制和Variable类实例
Feb 29 Python
python 比较字典value的最大值的几种方法
Apr 17 Python
Python 日期与时间转换的方法
Aug 01 Python
python/golang实现循环链表的示例代码
Sep 14 Python
python requests库的使用
Jan 06 Python
Python实现粒子群算法的示例
Feb 14 Python
详解分布式系统中如何用python实现Paxos
May 18 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
2006/12/23 PHP
php 禁止页面缓存输出
2009/01/07 PHP
JS option location 页面跳转实现代码
2008/12/27 Javascript
fckeditor 获取文本框值的实现代码
2009/02/09 Javascript
基于PHP+Jquery制作的可编辑的表格的代码
2011/04/10 Javascript
基于jQuery实现的百度导航li拖放排列效果,即时更新数据库
2012/07/31 Javascript
通过jQuery源码学习javascript(二)
2012/12/27 Javascript
JavaScript代码简单实现求杨辉三角给定行的最大值
2013/10/29 Javascript
js利用事件的阻止冒泡实现点击空白模态框的隐藏
2014/01/24 Javascript
JavaScript实现将数组数据添加到Select下拉框的方法
2015/08/21 Javascript
JavaScript跨域调用基于JSON的RESTful API
2016/07/09 Javascript
Bootstrap CSS布局之列表
2016/12/15 Javascript
用原生js做单页应用
2017/01/17 Javascript
vue+iview 实现可编辑表格的示例代码
2018/10/31 Javascript
vscode下的vue文件格式化问题
2018/11/28 Javascript
微信小程序实现分享朋友圈的图片功能示例
2019/01/18 Javascript
在vue中使用echarts(折线图的demo,markline用法)
2020/07/20 Javascript
[00:44]TI7不朽珍藏III——军团指挥官不朽展示
2017/07/15 DOTA
[53:43]VP vs NewBee Supermajor 胜者组 BO3 第三场 6.5
2018/06/06 DOTA
python 文件与目录操作
2008/12/24 Python
Python自定义scrapy中间模块避免重复采集的方法
2015/04/07 Python
使用Node.js和Socket.IO扩展Django的实时处理功能
2015/04/20 Python
Python的CGIHTTPServer交互实现详解
2018/02/08 Python
python 实现GUI(图形用户界面)编程详解
2019/07/17 Python
python实现暗通道去雾算法的示例
2020/09/27 Python
PyCharm2019.3永久激活破解详细图文教程,亲测可用(不定期更新)
2020/10/29 Python
英国助听器购物网站:Hearing Direct
2018/08/21 全球购物
英国家电购物网站:Sonic Direct
2019/03/26 全球购物
全球在线商店:BerryLook
2019/04/14 全球购物
幼儿教师暑期培训方案
2014/08/27 职场文书
开展党的群众路线教育实践活动情况汇报
2014/11/05 职场文书
平安家庭事迹材料
2014/12/20 职场文书
管辖权异议上诉状
2015/05/23 职场文书
企业法人代表证明书
2015/06/18 职场文书
Python爬取英雄联盟MSI直播间弹幕并生成词云图
2021/06/01 Python
解决Python保存文件名太长OSError: [Errno 36] File name too long
2022/05/11 Python