python自定义线程池控制线程数量的示例

 更新时间:2019年02月22日 09:05:40   作者:AdgerZhou  
今天小编就为大家分享一篇python自定义线程池控制线程数量的示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

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 list运算操作代码实例解析

    Python list运算操作代码实例解析

    这篇文章主要介绍了Python list运算操作代码实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-01-01
  • python 限制函数调用次数的实例讲解

    python 限制函数调用次数的实例讲解

    下面小编就为大家分享一篇python 限制函数调用次数的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • Python中的取整、取余运算方法

    Python中的取整、取余运算方法

    数据处理是编程中不可避免的,很多时候都需要根据需求把获取到的数据进行处理,取整则是最基本的数据处理。取整的方式则包括向下取整、四舍五入、向上取整等等,这篇文章主要介绍了Python中的取整、取余运算,需要的朋友可以参考下
    2022-11-11
  • pandas根据指定条件筛选数据的实现示例

    pandas根据指定条件筛选数据的实现示例

    条件筛选是pandas中非常重要的一个功能,它允许我们根据特定条件来快速、高效地筛选数据,本文主要介绍了pandas根据指定条件筛选数据的实现示例,具有一定的参考价值,感兴趣的可以了解一下
    2024-03-03
  • 使用python制作一个截图小工具

    使用python制作一个截图小工具

    这篇文章主要讨论了我们如何使用Python编程语言进行截图,我们看到了如何使用pyautogui 模块与save() 函数和其他模块,如NumPy 和OpenCV ,文中通过代码示例介绍的非常详细,需要的朋友可以参考下
    2023-12-12
  • Python实现wav和pcm的转换方式

    Python实现wav和pcm的转换方式

    这篇文章主要介绍了Python实现wav和pcm的转换方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • Python类型提示Type Hints示例详解

    Python类型提示Type Hints示例详解

    在做自动化测试的时候,类型提示会让你写代码时更加流程,当你在一个模块定义了类型,而其他模块没有提示的时候,是相当不方便,这篇文章主要给大家介绍了关于Python类型提示Type Hints的相关资料,需要的朋友可以参考下
    2021-08-08
  • 浅谈Django REST Framework限速

    浅谈Django REST Framework限速

    这篇文章主要介绍了浅谈Django REST Framework限速,具有一定借鉴价值,需要的朋友可以参考下。
    2017-12-12
  • 在vscode中启动conda虚拟环境的思路详解

    在vscode中启动conda虚拟环境的思路详解

    这篇文章主要介绍了在vscode中启动conda虚拟环境的思路详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • python实现二级登陆菜单及安装过程

    python实现二级登陆菜单及安装过程

    这篇文章主要介绍了python实现二级登陆菜单及安装过程,,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-06-06

最新评论