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最基本的数据类型以及对元组的介绍
Apr 14 Python
Python简单网络编程示例【客户端与服务端】
May 26 Python
一篇文章读懂Python赋值与拷贝
Apr 19 Python
Django添加sitemap的方法示例
Aug 06 Python
python画图把时间作为横坐标的方法
Jul 07 Python
Python Django的安装配置教程图文详解
Jul 17 Python
pytorch中的embedding词向量的使用方法
Aug 18 Python
使用 PyTorch 实现 MLP 并在 MNIST 数据集上验证方式
Jan 08 Python
python实现滑雪游戏
Feb 22 Python
python 实现多维数组(array)排序
Feb 28 Python
Python API len函数操作过程解析
Mar 05 Python
解析python中的jsonpath 提取器
Jan 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&mysql(一)
2006/10/09 PHP
一个简单的PHP入门源程序
2006/10/09 PHP
PHP的分页功能
2007/03/21 PHP
实例解析php的数据类型
2018/10/24 PHP
js 设置选中行的样式的实现代码
2010/05/24 Javascript
Document对象内容集合(比较全)
2010/09/06 Javascript
容易造成JavaScript内存泄露几个方面
2014/09/04 Javascript
JS使用parseInt解析数字实现求和的方法
2015/08/05 Javascript
分享有关jQuery中animate、slide、fade等动画的连续触发、滞后反复执行的bug
2016/01/10 Javascript
jQuery通过ajax方法获取json数据不执行success的原因及解决方法
2016/10/15 Javascript
有关suggest快速删除后仍然出现下拉列表的bug问题
2016/12/02 Javascript
巧用weui.topTips验证数据的实例
2017/04/17 Javascript
swiper插件自定义切换箭头按钮
2017/12/28 Javascript
vue 中directive功能的简单实现
2018/01/05 Javascript
微信{"errcode":48001,"errmsg":"api unauthorized, hints: [ req_id: 1QoCla0699ns81 ]"}
2018/10/12 Javascript
jquery+css实现Tab栏切换的代码实例
2019/05/14 jQuery
vue 使用element-ui中的Notification自定义按钮并实现关闭功能及如何处理多个通知
2019/08/17 Javascript
JavaScript实现京东放大镜效果
2019/12/03 Javascript
tensorflow使用神经网络实现mnist分类
2018/09/08 Python
pytorch permute维度转换方法
2018/12/14 Python
Django框架首页和登录页分离操作示例
2019/05/28 Python
python base64库给用户名或密码加密的流程
2020/01/02 Python
Python3如何实现Win10桌面自动切换
2020/08/11 Python
CSS3实现瀑布流布局与无限加载图片相册的实例代码
2016/12/22 HTML / CSS
html5 拖拽上传图片实例演示
2013/04/01 HTML / CSS
测绘工程个人的自我评价
2013/11/10 职场文书
物业电工岗位职责
2013/11/20 职场文书
电工工作职责范本
2014/02/22 职场文书
销售顾问工作计划书
2014/08/15 职场文书
自愿解除劳动合同协议书
2014/09/11 职场文书
群众路线查摆问题整改措施思想汇报
2014/10/10 职场文书
2014年管理人员工作总结
2014/12/01 职场文书
教师个人学习总结
2015/02/11 职场文书
消防演习感想
2015/08/10 职场文书
小学英语教学随笔
2015/08/14 职场文书
简单了解 MySQL 中相关的锁
2021/05/25 MySQL