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求解物理学中的双弹簧质能系统详解
Sep 29 Python
Python 函数基础知识汇总
Mar 09 Python
python实现ip代理池功能示例
Jul 05 Python
Python利用matplotlib做图中图及次坐标轴的实例
Jul 08 Python
用Python实现BP神经网络(附代码)
Jul 10 Python
Python-copy()与deepcopy()区别详解
Jul 12 Python
Python 调用有道翻译接口实现翻译
Mar 02 Python
Python使用Numpy模块读取文件并绘制图片
May 13 Python
keras中的卷积层&池化层的用法
May 22 Python
Python+PyQt5实现灭霸响指功能
May 25 Python
python语言中有算法吗
Jun 16 Python
python网络爬虫实现发送短信验证码的方法
Feb 25 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版QQ互联OAuth示例代码分享
2015/07/05 PHP
替代window.event.srcElement效果的可兼容性的函数
2009/12/18 Javascript
js实现倒计时(距离结束还有)示例代码
2013/07/24 Javascript
JavaScript实现信用卡校验方法
2015/04/07 Javascript
javascript实现随机显示星星特效
2016/01/28 Javascript
纯js模仿windows系统日历
2017/02/04 Javascript
JavaScript两个变量交换值的实现方法
2017/03/01 Javascript
nodejs连接mysql数据库简单封装示例-mysql模块
2017/04/10 NodeJs
推荐VSCode 上特别好用的 Vue 插件之vetur
2017/09/14 Javascript
微信小程序如何像vue一样在动态绑定类名
2018/04/17 Javascript
Vue中的异步组件函数实现代码
2018/07/20 Javascript
vue+webpack模拟后台数据的示例代码
2018/07/26 Javascript
详解无限滚动插件vue-infinite-scroll源码解析
2019/05/12 Javascript
Vue在chrome44偶现点击子元素事件无法冒泡的解决方法
2019/12/15 Javascript
jQuery实现简易聊天框
2020/02/08 jQuery
Vue单文件组件开发实现过程详解
2020/07/30 Javascript
在vue中给后台接口传的值为数组的格式代码
2020/11/12 Javascript
[57:16]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS VG第二场
2014/05/26 DOTA
[01:26]DOTA2荣耀之路2:iG,China
2018/05/24 DOTA
打印出python 当前全局变量和入口参数的所有属性
2009/07/01 Python
解决vscode python print 输出窗口中文乱码的问题
2018/12/03 Python
Pandas_cum累积计算和rolling滚动计算的用法详解
2019/07/04 Python
python自动循环定时开关机(非重启)测试
2019/08/26 Python
python调用matplotlib模块绘制柱状图
2019/10/18 Python
Django中Aggregation聚合的基本使用方法
2020/07/09 Python
英国的知名精品百货公司:House of Fraser(福来德)
2016/08/14 全球购物
Annoushka英国官网:英国奢侈珠宝品牌
2018/10/20 全球购物
简历中自我评价怎么写
2014/02/12 职场文书
安全生产管理责任书
2014/04/16 职场文书
会计专业自荐书
2014/07/08 职场文书
php随机生成验证码,php随机生成数字,php随机生成数字加字母!
2021/04/01 PHP
Java如何实现通过键盘输入一个数组
2022/02/15 Java/Android
MySQL七大JOIN的具体使用
2022/02/28 MySQL
bose降噪耳机音能消除人声吗
2022/04/19 数码科技
SQL Server中的逻辑函数介绍
2022/05/25 SQL Server
springboot+rabbitmq实现智能家居实例详解
2022/07/23 Java/Android