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写入CSV文件的方法
Jul 08 Python
Python编程实现删除VC临时文件及Debug目录的方法
Mar 22 Python
CentOS下使用yum安装python-pip失败的完美解决方法
Aug 16 Python
python版微信跳一跳游戏辅助
Jan 11 Python
Python通过调用有道翻译api实现翻译功能示例
Jul 19 Python
python3 反射的四种基本方法解析
Aug 26 Python
python系列 文件操作的代码
Oct 06 Python
什么是python的必选参数
Jun 21 Python
python 模块导入问题汇总
Feb 01 Python
python 如何用map()函数创建多线程任务
Apr 07 Python
Python中X[:,0]和X[:,1]的用法
May 10 Python
Django实现聊天机器人
May 31 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
在windows iis5下安装php4.0+mysql之我见
2006/10/09 PHP
php实现查询百度google收录情况(示例代码)
2013/08/02 PHP
分享PHP函数实现数字与文字分页代码
2015/07/28 PHP
Yii编程开发常见调用技巧集锦
2016/07/15 PHP
JavaScript性能优化 创建文档碎片(document.createDocumentFragment)
2010/07/13 Javascript
Javascript 静态页面实现随机显示广告的办法
2010/11/17 Javascript
JS将秒换成时分秒实现代码
2013/09/03 Javascript
jQuery+AJAX实现网页无刷新上传
2015/02/22 Javascript
Jquery 自定义事件实现发布/订阅的简单实例
2016/06/12 Javascript
Bootstrap按钮组实例详解
2017/07/03 Javascript
JS实现发送短信验证后按钮倒计时功能(防止刷新倒计时失效)
2017/07/07 Javascript
React 子组件向父组件传值的方法
2017/07/24 Javascript
详解在vue-cli中使用路由
2017/09/25 Javascript
值得收藏的vuejs安装教程
2017/11/21 Javascript
Vue中computed、methods与watch的区别总结
2019/04/10 Javascript
javascript中undefined的本质解析
2019/07/31 Javascript
微信小程序后台持续定位功能使用详解
2019/08/23 Javascript
js实现倒计时秒杀效果
2020/03/25 Javascript
前端性能优化建议
2020/09/17 Javascript
ES11新增的这9个新特性,你都掌握了吗
2020/10/15 Javascript
python定向爬取淘宝商品价格
2018/02/27 Python
Python任务自动化工具tox使用教程
2020/03/17 Python
服务器端jupyter notebook映射到本地浏览器的操作
2020/04/14 Python
Python pickle模块常用方法代码实例
2020/10/10 Python
H5 video poster属性设置视频封面的方法
2020/05/25 HTML / CSS
社区工作者思想汇报
2014/01/13 职场文书
法律专业自荐信
2014/06/03 职场文书
煤矿安全协议书
2014/08/20 职场文书
医生爱岗敬业演讲稿
2014/08/26 职场文书
2014年人事工作总结范文
2014/11/19 职场文书
信息技术研修心得体会
2016/01/08 职场文书
业余无线电通联Q语
2022/02/18 无线电
基于Python实现将列表数据生成折线图
2022/03/23 Python
MySQL范围查询优化的场景实例详解
2022/06/10 MySQL
windows server2012 R2下安装PaddleOCR服务的的详细步骤
2022/09/23 Servers
Valheim服务器 Mod修改安装教程 【ValheimPlus】
2022/12/24 Servers