Python 官方文档:入门教程 => 点击学习
1.自定义线程池 import threading import Queue import time queue = Queue.Queue() def put_data_in_queue(): for i in xrang
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)
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()
--结束END--
本文标题: python自定义线程池控制线程数量
本文链接: https://www.lsjlt.com/news/189435.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0