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使用稀疏矩阵节省内存实例
Jun 27 Python
python之PyMongo使用总结
May 26 Python
解决pycharm界面不能显示中文的问题
May 23 Python
对Python 除法负数取商的取整方式详解
Dec 12 Python
Python 实现王者荣耀中的敏感词过滤示例
Jan 21 Python
Python检测数据类型的方法总结
May 20 Python
Python2.7实现多进程下开发多线程示例
May 31 Python
python 计算平均平方误差(MSE)的实例
Jun 29 Python
基于python分析你的上网行为 看看你平时上网都在干嘛
Aug 13 Python
python实现代码统计器
Sep 19 Python
python的range和linspace使用详解
Nov 27 Python
Pyside2中嵌入Matplotlib的绘图的实现
Feb 22 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
phpfans留言版用到的install.php
2007/01/04 PHP
PHP PDO fetch 模式各种参数的输出结果一览
2015/01/07 PHP
PHP自定义函数格式化json数据示例
2016/09/14 PHP
详谈JavaScript内存泄漏
2014/11/14 Javascript
Jquery中find与each方法用法实例
2015/02/04 Javascript
JS实现图片的不间断连续滚动的简单实例
2016/06/03 Javascript
BootStrap下拉框在firefox浏览器界面不友好的解决方案
2016/08/18 Javascript
Web打印解决方案之普通报表打印功能
2016/08/29 Javascript
JS实现的驼峰式和连字符式转换功能分析
2016/12/21 Javascript
jquery实现表单获取短信验证码代码
2017/03/13 Javascript
深入解析nodejs HTTP服务
2017/07/25 NodeJs
AngularJS的$location使用方法详解
2017/10/19 Javascript
JS基于对象的特性实现去除数组中重复项功能详解
2017/11/17 Javascript
Vue绑定内联样式问题
2018/10/17 Javascript
Vue项目vscode 安装eslint插件的方法(代码自动修复)
2020/04/15 Javascript
详解javascript void(0)
2020/07/13 Javascript
解决vue自定义指令导致的内存泄漏问题
2020/08/04 Javascript
vue中的.$mount('#app')手动挂载操作
2020/09/02 Javascript
python代码 if not x: 和 if x is not None: 和 if not x is None:使用介绍
2016/09/21 Python
浅谈pyhton学习中出现的各种问题(新手必看)
2017/05/17 Python
TF-IDF算法解析与Python实现方法详解
2017/11/16 Python
Pandas之DataFrame对象的列和索引之间的转化
2019/06/25 Python
Django REST Framework之频率限制的使用
2019/09/29 Python
python梯度下降算法的实现
2020/02/24 Python
Python分类测试代码实例汇总
2020/07/23 Python
英国复古皮包品牌:Beara Beara
2018/07/18 全球购物
毕业生自荐书
2014/02/02 职场文书
军训 自我鉴定
2014/02/03 职场文书
《一件运动衫》教学反思
2014/02/19 职场文书
作风建设演讲稿
2014/05/23 职场文书
工商管理专业毕业生求职信
2014/05/26 职场文书
员工三分钟演讲稿
2014/08/19 职场文书
房屋授权委托书范本
2014/10/07 职场文书
2014年辅导员工作总结
2014/11/18 职场文书
小学三八妇女节活动总结
2015/02/06 职场文书
pytorch中的torch.nn.Conv2d()函数图文详解
2022/02/28 Python