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 不同对象比较大小示例探讨
Aug 21 Python
举例讲解Python面相对象编程中对象的属性与类的方法
Jan 19 Python
详解Python中 __get__和__getattr__和__getattribute__的区别
Jun 16 Python
通过python+selenium3实现浏览器刷简书文章阅读量
Dec 26 Python
Python+request+unittest实现接口测试框架集成实例
Mar 16 Python
解决pycharm运行时interpreter为空的问题
Oct 29 Python
Pycharm 文件更改目录后,执行路径未更新的解决方法
Jul 19 Python
Python根据服务获取端口号的方法
Sep 25 Python
Python使用QQ邮箱发送邮件报错smtplib.SMTPAuthenticationError
Dec 20 Python
python通过移动端访问查看电脑界面
Jan 06 Python
Win10里python3创建虚拟环境的步骤
Jan 31 Python
基于python实现复制文件并重命名
Sep 16 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提交form表单
2015/07/01 PHP
ThinkPHP中limit()使用方法详解
2016/04/19 PHP
使用JavaScript动态设置样式实现代码(2)
2013/01/25 Javascript
循环 vs 递归浅谈
2013/02/28 Javascript
JavaScript将Table导出到Excel实现思路及代码
2013/03/13 Javascript
JavaScript中获取高度和宽度函数总结
2014/10/08 Javascript
快速掌握Node.js环境的安装与运行方法
2016/02/16 Javascript
JS获取IMG图片高宽的简单实例
2016/05/17 Javascript
BootStrap实现带关闭按钮功能
2017/02/15 Javascript
Vue2.x中的父组件传递数据至子组件的方法
2017/05/01 Javascript
基于Axios 常用的请求方法别名(详解)
2018/03/13 Javascript
vue数据传递--我有特殊的实现技巧
2018/03/20 Javascript
使用react实现手机号的数据同步显示功能的示例代码
2018/04/03 Javascript
解决Angular4项目部署到服务器上刷新404的问题
2018/08/31 Javascript
layer弹出子iframe层父子页面传值的实现方法
2018/11/22 Javascript
前端路由&webpack基础配置详解
2019/06/10 Javascript
详解vue 组件的实现原理
2020/11/12 Javascript
python检测lvs real server状态
2014/01/22 Python
通过数据库对Django进行删除字段和删除模型的操作
2015/07/21 Python
Python连接DB2数据库
2016/08/27 Python
Django URL传递参数的方法总结
2016/08/28 Python
Python 用Redis简单实现分布式爬虫的方法
2017/11/23 Python
全面了解Nginx, WSGI, Flask之间的关系
2018/01/09 Python
python对日志进行处理的实例代码
2018/10/06 Python
windows7 32、64位下python爬虫框架scrapy环境的搭建方法
2018/11/29 Python
python的xpath获取div标签内html内容,实现innerhtml功能的方法
2019/01/02 Python
Python3.8对可迭代解包的改进及用法详解
2019/10/15 Python
Django Admin 上传文件到七牛云的示例代码
2020/06/20 Python
PHP面试题及答案一
2012/06/18 面试题
电脑租赁公司创业计划书
2014/01/08 职场文书
户外婚礼策划方案
2014/02/08 职场文书
广告创意求职信
2014/03/17 职场文书
文员求职信
2014/07/15 职场文书
2016年综治宣传月活动宣传标语口号
2016/03/16 职场文书
Java 获取Word中所有的插入和删除修订的方法
2022/04/06 Java/Android
通过feDisplacementMap和feImage实现水波特效
2022/04/24 HTML / CSS