python自定义线程池控制线程数量的示例


Posted in Python onFebruary 22, 2019

1.自定义线程池

import threading
import Queue
import time
 
queue = Queue.Queue()
 
 
def put_data_in_queue():
  for i in xrange(10):
    queue.put(i)
 
 
class MyThread(threading.Thread):
  def run(self):
    while not queue.empty():
      sleep_times = queue.get()
      time.sleep(sleep_times)
      queue.task_done()
 
 
def main_function():
  threads_num = 6
  while True:
    put_data_in_queue()
    for i in xrange(threads_num):
      myThread = MyThread()
      myThread.setDaemon(True)
      myThread.start()
    queue.join()
    time.sleep(60)

2.多线程与signal信号的监控结合

import threading
import Queue
import time
import signal
 
queue = Queue.Queue()
stop = False
 
 
def receive_signal(signum, stack):
  signal.signal(signal.SIGTERM, original_sigterm)
  global stop
  stop = True
 
 
def put_data_in_queue():
  for i in xrange(10):
    queue.put(i)
 
 
class MyThread(threading.Thread):
  def run(self):
    while not queue.empty():
      sleep_times = queue.get()
      time.sleep(sleep_times)
      queue.task_done()
 
 
def main_function():
  threads_num = 6
  while not stop:
    put_data_in_queue()
    for i in xrange(threads_num):
      myThread = MyThread()
      myThread.setDaemon(True)
      myThread.start()
    queue.join()
    time.sleep(60)
 
 
if __name__ == "__main__":
  original_sigterm = signal.getsignal(signal.SIGTERM)
  signal.signal(signal.SIGTERM, receive_signal)
  main_function()

以上这篇python自定义线程池控制线程数量的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python正则表达式re模块详解
Jun 25 Python
处理Python中的URLError异常的方法
Apr 30 Python
使用django-guardian实现django-admin的行级权限控制的方法
Oct 30 Python
python 输入一个数n,求n个数求乘或求和的实例
Nov 13 Python
对python中if语句的真假判断实例详解
Feb 18 Python
Python嵌套式数据结构实例浅析
Mar 05 Python
pytorch模型存储的2种实现方法
Feb 14 Python
Python sqlite3查询操作过程解析
Feb 20 Python
什么是Python中的匿名函数
Jun 02 Python
keras读取训练好的模型参数并把参数赋值给其它模型详解
Jun 15 Python
通过代码实例了解Python异常本质
Sep 16 Python
pandas中DataFrame重置索引的几种方法
May 24 Python
Python实现多进程的四种方式
Feb 22 #Python
python在回调函数中获取返回值的方法
Feb 22 #Python
python实现批量注册网站用户的示例
Feb 22 #Python
Python多进程fork()函数详解
Feb 22 #Python
Django restframework 源码分析之认证详解
Feb 22 #Python
运用Python的webbrowser实现定时打开特定网页
Feb 21 #Python
Python3爬虫之自动查询天气并实现语音播报
Feb 21 #Python
You might like
PHP 编写大型网站问题集
2010/05/07 PHP
PHP 实现代码复用的一个方法 traits新特性
2015/02/22 PHP
Zend Framework教程之配置文件application.ini解析
2016/03/10 PHP
php生成带logo二维码方法小结
2016/04/08 PHP
jquery学习笔记二 实现可编辑的表格
2010/04/09 Javascript
JavaScript 面向对象的 私有成员和公开成员
2010/05/13 Javascript
各情景下元素宽高的获取实现代码
2011/09/13 Javascript
jquery打开直接跳到网页最下面、最低端实现代码
2013/04/22 Javascript
用js的for循环获取radio选中的值
2013/10/21 Javascript
一款简单的jQuery图片标注效果附源码下载
2016/03/22 Javascript
BootStrap和jQuery相结合实现可编辑表格
2016/04/21 Javascript
微信小程序 闭包写法详细介绍
2016/12/14 Javascript
bootstrap+jQuery实现的动态进度条功能示例
2017/05/25 jQuery
Node.js中的cluster模块深入解读
2018/06/11 Javascript
vue.js引入外部CSS样式和外部JS文件的方法
2019/01/06 Javascript
微信小程序发布新版本时自动提示用户更新的方法
2019/06/07 Javascript
Vue动态修改网页标题的方法及遇到问题
2019/06/09 Javascript
Vue项目页面跳转时浏览器窗口上方显示进度条功能
2020/03/26 Javascript
Django Rest framework之权限的实现示例
2018/12/17 Python
python selenium firefox使用详解
2019/02/26 Python
Python静态类型检查新工具之pyright 使用指南
2019/04/26 Python
Python SSL证书验证问题解决方案
2020/01/13 Python
python 3.8.3 安装配置图文教程
2020/05/21 Python
洲际酒店集团英国官网:IHG英国
2019/07/10 全球购物
老公给老婆的道歉信
2014/01/10 职场文书
小学生操行评语
2014/04/22 职场文书
物业项目经理岗位职责
2015/04/01 职场文书
六一活动主持词
2015/06/30 职场文书
结婚幸福感言
2015/08/01 职场文书
患者身份识别制度
2015/08/06 职场文书
新郎父母婚礼答谢词
2015/09/29 职场文书
JavaScript使用canvas绘制坐标和线
2021/04/28 Javascript
详解TS数字分隔符和更严格的类属性检查
2021/05/06 Javascript
pytorch 带batch的tensor类型图像显示操作
2021/05/20 Python
使用Vue3+Vant组件实现App搜索历史记录功能(示例代码)
2021/06/09 Vue.js
总结Python使用过程中的bug
2021/06/18 Python