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框架使用
Feb 18 Python
python利用urllib实现爬取京东网站商品图片的爬虫实例
Aug 24 Python
Python tkinter实现的图片移动碰撞动画效果【附源码下载】
Jan 04 Python
Python+matplotlib实现填充螺旋实例
Jan 15 Python
Django Web开发中django-debug-toolbar的配置以及使用
May 06 Python
Django基础三之视图函数的使用方法
Jul 18 Python
基于python调用psutil模块过程解析
Dec 20 Python
python脚本后台执行方式
Dec 21 Python
Python实现列表中非负数保留,负数转化为指定的数值方式
Jun 04 Python
Python+PyQt5+MySQL实现天气管理系统
Jun 16 Python
python实现发送带附件的邮件代码分享
Sep 22 Python
python爬虫利器之requests库的用法(超全面的爬取网页案例)
Dec 17 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
解析MySql与Java的时间类型
2013/06/22 PHP
php解析字符串里所有URL地址的方法
2015/04/03 PHP
Zend Framework教程之Zend_Db_Table表关联实例详解
2016/03/23 PHP
JavaScript开发时的五个注意事项
2007/12/08 Javascript
我的javascript 函数链之演变
2011/04/07 Javascript
Nodejs实现批量下载妹纸图
2015/05/28 NodeJs
基于jQuery实现交互体验社会化分享代码附源码下载
2016/01/04 Javascript
全面解析JavaScript中apply和call以及bind(推荐)
2016/06/15 Javascript
深入理解JavaScript中的块级作用域、私有变量与模块模式
2016/10/31 Javascript
JS冒泡事件与事件捕获实例详解
2016/11/25 Javascript
详解为Angular.js内置$http服务添加拦截器的方法
2016/12/20 Javascript
jQuery animate()实现背景色渐变效果的处理方法【使用jQuery.color.js插件】
2017/03/15 Javascript
Angular 2父子组件数据传递之局部变量获取子组件其他成员
2017/07/04 Javascript
jQuery简单实现向列表动态添加新元素的方法示例
2017/12/25 jQuery
jQuery实现定时隐藏对话框的方法分析
2018/02/12 jQuery
使用JS获取页面上的所有标签
2018/10/18 Javascript
js指定日期增加指定月份的实现方法
2018/12/19 Javascript
vue请求本地自己编写的json文件的方法
2019/04/25 Javascript
layui表格 返回的数据状态异常的解决方法
2019/09/10 Javascript
layui实现checkbox的目录树tree的例子
2019/09/12 Javascript
微信小程序的引导页实现代码
2020/06/24 Javascript
[05:40]DOTA2荣耀之路6:Wings最后进攻
2018/05/30 DOTA
Python从单元素字典中获取key和value的实例
2018/12/31 Python
对python numpy.array插入一行或一列的方法详解
2019/01/29 Python
python使用 zip 同时迭代多个序列示例
2019/07/06 Python
numpy ndarray 按条件筛选数组,关联筛选的例子
2019/11/26 Python
python实现图片转换成素描和漫画格式
2020/08/19 Python
django跳转页面传参的实现
2020/09/17 Python
Python使用Turtle模块绘制国旗的方法示例
2021/02/28 Python
MYPROTEIN澳大利亚官方网站:欧洲运动营养品牌
2019/06/26 全球购物
国税会议欢迎词
2014/01/16 职场文书
化工专业求职信
2014/07/01 职场文书
2014年教育实习工作总结
2014/11/22 职场文书
巾帼标兵事迹材料
2014/12/26 职场文书
MySQL 常见的数据表设计误区汇总
2021/06/07 MySQL
使用Django框架创建项目
2022/06/10 Python