python自定義線程池控制線程數(shù)量的示例
更新時間:2019年02月22日 09:05:40 作者:AdgerZhou
今天小編就為大家分享一篇python自定義線程池控制線程數(shù)量的示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
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信號的監(jiān)控結(jié)合
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自定義線程池控制線程數(shù)量的示例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
python 限制函數(shù)調(diào)用次數(shù)的實例講解
下面小編就為大家分享一篇python 限制函數(shù)調(diào)用次數(shù)的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04pandas根據(jù)指定條件篩選數(shù)據(jù)的實現(xiàn)示例
條件篩選是pandas中非常重要的一個功能,它允許我們根據(jù)特定條件來快速、高效地篩選數(shù)據(jù),本文主要介紹了pandas根據(jù)指定條件篩選數(shù)據(jù)的實現(xiàn)示例,具有一定的參考價值,感興趣的可以了解一下2024-03-03Python實現(xiàn)wav和pcm的轉(zhuǎn)換方式
這篇文章主要介紹了Python實現(xiàn)wav和pcm的轉(zhuǎn)換方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-05-05在vscode中啟動conda虛擬環(huán)境的思路詳解
這篇文章主要介紹了在vscode中啟動conda虛擬環(huán)境的思路詳解,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-12-12