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框架中的静态资源管理器django-pipeline
Apr 25 Python
Python实现简单过滤文本段的方法
May 24 Python
Python数据结构与算法之链表定义与用法实例详解【单链表、循环链表】
Sep 28 Python
pycharm安装和首次使用教程
Aug 27 Python
3个用于数据科学的顶级Python库
Sep 29 Python
Python微医挂号网医生数据抓取
Jan 24 Python
如何不用安装python就能在.NET里调用Python库
Jul 12 Python
python列表推导式操作解析
Nov 26 Python
Python 矩阵转置的几种方法小结
Dec 02 Python
使用Python pip怎么升级pip
Aug 11 Python
python字典与json转换的方法总结
Dec 28 Python
Python四款GUI图形界面库介绍
Jun 05 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/10/09 PHP
PHP中的生成XML文件的4种方法分享
2012/10/06 PHP
PHP修改session_id示例代码
2014/01/08 PHP
codeigniter教程之多文件上传使用示例
2014/02/11 PHP
PHP数组与对象之间使用递归实现转换的方法
2015/06/24 PHP
Symfony2学习笔记之控制器用法详解
2016/03/17 PHP
PHP水印类,支持添加图片、文字、填充颜色区域的实现
2017/02/04 PHP
php慢查询日志和错误日志使用详解
2021/02/27 PHP
JavaScript起点(严格模式深度了解)
2013/01/28 Javascript
利用js的Node遍历找到repeater的一个字段实例介绍
2013/04/25 Javascript
jQuery计算textarea中文字数(剩余个数)的小程序
2013/11/28 Javascript
JQuery插件jcarousellite的参数中文说明
2015/05/11 Javascript
JS自定义选项卡函数及用法实例分析
2015/09/02 Javascript
jquery实现全选和全不选功能效果的实现代码【推荐】
2016/05/05 Javascript
如何使用AngularJs打造权限管理系统【简易型】
2016/05/09 Javascript
jQuery插件学习教程之SlidesJs轮播+Validation验证
2016/07/12 Javascript
使用 bootstrap modal遇到的问题小结
2016/11/09 Javascript
移动端效果之IndexList详解
2017/10/20 Javascript
vue的注意规范之v-if 与 v-for 一起使用教程
2019/08/04 Javascript
Python时区设置方法与pytz查询时区教程
2013/11/27 Python
利用pyinstaller将py文件打包为exe的方法
2018/05/14 Python
Python格式化字符串f-string概览(小结)
2019/06/18 Python
python 画函数曲线示例
2019/12/04 Python
pytorch AvgPool2d函数使用详解
2020/01/03 Python
python3中关于excel追加写入格式被覆盖问题(实例代码)
2020/01/10 Python
在django中实现choices字段获取对应字段值
2020/07/12 Python
Python使用lambda抛出异常实现方法解析
2020/08/20 Python
购买限量版收藏品、珠宝和礼品:Bradford Exchange
2016/09/23 全球购物
意大利大型购物中心:Oliviero.it
2017/10/19 全球购物
ASP.NET中的身份验证有那些
2012/07/13 面试题
酒店开业庆典主持词
2014/03/21 职场文书
《有趣的发现》教学反思
2014/04/15 职场文书
基层领导干部“四风”问题批评与自我批评
2014/09/23 职场文书
学生抄作业检讨书(2篇)
2014/10/17 职场文书
Python万能模板案例之matplotlib绘制直方图的基本配置
2022/04/13 Python
Win10 Anaconda安装python-pcl
2022/04/29 Servers