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提取html文件中的特定数据的实现代码
Mar 24 Python
python操作ie登陆土豆网的方法
May 09 Python
Windows下python2.7.8安装图文教程
May 26 Python
Python之读取TXT文件的方法小结
Apr 27 Python
python使用webdriver爬取微信公众号
Aug 31 Python
TensorFlow实现iris数据集线性回归
Sep 07 Python
解决python3读取Python2存储的pickle文件问题
Oct 25 Python
程序员写Python时的5个坏习惯,你有几条?
Nov 26 Python
Python中的list与tuple集合区别解析
Oct 12 Python
提升python处理速度原理及方法实例
Dec 25 Python
基于Python实现的购物商城管理系统
Apr 27 Python
Python OpenCV超详细讲解读取图像视频和网络摄像头
Apr 02 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 XMLWriter类的简单示例代码(RSS输出)
2011/09/30 PHP
PHP性能优化准备篇图解PEAR安装
2011/12/05 PHP
php实现统计邮件大小的方法
2013/08/06 PHP
PHP框架性能测试报告
2016/05/08 PHP
PHP实现的各类hash算法长度及性能测试实例
2017/08/27 PHP
PHP实现SMTP邮件的发送实例
2018/09/27 PHP
php使用curl模拟浏览器表单上传文件或者图片的方法
2018/11/10 PHP
解析JavaScript中的标签语句
2013/06/19 Javascript
JS清除文本框内容离开在恢复及鼠标离开文本框时触发js的方法
2016/01/12 Javascript
深入理解js promise chain
2016/05/05 Javascript
JavaScript中输出信息的方法(信息确认框-提示输入框-文档流输出)
2016/06/12 Javascript
省市二级联动小案例讲解
2016/07/24 Javascript
5种JavaScript脚本加载的方式
2017/01/16 Javascript
ES6学习教程之Map的常用方法总结
2017/08/03 Javascript
AngularJS 的$timeout服务示例代码
2017/09/21 Javascript
详解vue项目首页加载速度优化
2017/10/18 Javascript
Vue中的this.$options.data()和this.$data用法说明
2020/07/26 Javascript
[13:40]TI3青蛙君全程回顾 DOTA2我们为梦想再战
2013/09/13 DOTA
[01:24:34]2014 DOTA2华西杯精英邀请赛5 24 DK VS LGD
2014/05/25 DOTA
[01:12:40]DOTA2-DPC中国联赛 正赛 DLG vs XG BO3 第三场 1月25日
2021/03/11 DOTA
在Python中操作文件之read()方法的使用教程
2015/05/24 Python
以SQLite和PySqlite为例来学习Python DB API
2020/02/05 Python
python实现ftp文件传输系统(案例分析)
2020/03/20 Python
Python判断字符串是否为空和null方法实例
2020/04/26 Python
深入解读CSS3中transform变换模型的渲染
2016/05/27 HTML / CSS
HTML5 WebGL 实现民航客机飞行监控系统
2019/07/25 HTML / CSS
香港草莓网土耳其网站:Strawberrynet TR
2017/03/02 全球购物
经贸日语专业个人求职信范文
2013/12/28 职场文书
2015年幼儿园毕业感言
2014/02/12 职场文书
《雪儿》教学反思
2014/04/17 职场文书
分公司任命书
2014/06/06 职场文书
《周恩来的四个昼夜》观后思想汇报范文两篇
2014/09/10 职场文书
创新社会管理心得体会
2014/09/12 职场文书
2014年技术部工作总结
2014/12/12 职场文书
2015年音乐教师个人工作总结
2015/05/20 职场文书
音乐会主持人开场白
2015/05/28 职场文书