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 相关文章推荐
详解Django中的过滤器
Jul 16 Python
Python常用知识点汇总
May 08 Python
wxpython中自定义事件的实现与使用方法分析
Jul 21 Python
Python系统监控模块psutil功能与经典用法分析
May 24 Python
python中的二维列表实例详解
Jun 19 Python
python 多线程中子线程和主线程相互通信方法
Nov 09 Python
pycharm远程开发项目的实现步骤
Jan 20 Python
对python借助百度云API对评论进行观点抽取的方法详解
Feb 21 Python
django项目用higcharts统计最近七天文章点击量
Aug 17 Python
为什么相对PHP黑python的更少
Jun 21 Python
基于python图书馆管理系统设计实例详解
Aug 05 Python
Python 高效编程技巧分享
Sep 10 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生成网页快照 不用COM不用扩展.
2010/02/11 PHP
php 生成短网址原理及代码
2014/01/23 PHP
完整删除ecshop中获取店铺信息的API
2014/12/24 PHP
Symfony学习十分钟入门经典教程
2016/02/03 PHP
PHP函数checkdnsrr用法详解(Windows平台用法)
2016/03/21 PHP
CodeIgniter集成smarty的方法详解
2016/05/26 PHP
JavaScript 解析Json字符串的性能比较分析代码
2009/12/16 Javascript
jquery删除提示框弹出是否删除对话框
2014/01/07 Javascript
用JS在浏览器中创建下载文件
2014/03/05 Javascript
PageSwitch插件实现100种不同图片切换效果
2015/07/28 Javascript
JavaScript中输出信息的方法(信息确认框-提示输入框-文档流输出)
2016/06/12 Javascript
JavaScript的兼容性与调试技巧
2016/11/22 Javascript
js实现移动端微信页面禁止字体放大
2017/02/16 Javascript
vue实现动态数据绑定
2017/04/28 Javascript
说说Vuex的getters属性的具体用法
2019/04/15 Javascript
怎样在vue项目下添加ESLint的方法
2019/05/16 Javascript
vue路由切换时取消之前的所有请求操作
2020/09/01 Javascript
js前端传json后台接收‘‘被转为quot的问题解决
2020/11/12 Javascript
python中pygame模块用法实例
2014/10/09 Python
Python常见字符串操作函数小结【split()、join()、strip()】
2018/02/02 Python
Python中文件的读取和写入操作
2018/04/27 Python
Python使用matplotlib绘制随机漫步图
2018/08/27 Python
Python玩转加密的技巧【推荐】
2019/05/13 Python
Django实现发送邮件功能
2019/07/18 Python
Django配置MySQL数据库的完整步骤
2019/09/07 Python
css3一款3D字体带阴影效果的实现步骤
2013/03/20 HTML / CSS
Dyson加拿大官方网站:购买戴森吸尘器,风扇,冷热器及配件
2016/10/26 全球购物
Python面试题:Python是如何进行内存管理的
2014/08/04 面试题
大学运动会通讯稿
2014/01/28 职场文书
2014入党积极分子批评与自我批评思想汇报
2014/09/20 职场文书
计算机实训报告总结
2014/11/05 职场文书
顶岗实习协议书
2015/01/29 职场文书
党委工作总结2015
2015/04/27 职场文书
用javascript制作qq注册动态页面
2021/04/14 Javascript
python基础学习之递归函数知识总结
2021/05/26 Python
python turtle绘图
2022/05/04 Python