import threading
import queue
import time
'''
queue.qsize() 返回队列的大小
queue.empty() 如果队列为空,返回True,反之False
queue.full() 如果队列满了,返回True,反之False
queue.full 与 maxsize 大小对应
queue.get([block[, timeout]])获取队列,timeout等待时间
queue.get_nowait() 相当queue.get(False)
queue.put(item) 写入队列,timeout等待时间
queue.put_nowait(item) 相当queue.put(item, False)
queue.task_done() 在完成一项工作之后,queue.task_done()函数向任务已经完成的队列发送一个信号
'''
class CustomThread(threading.Thread):
def __init__(self, queue):
threading.Thread.__init__(self)
self.__queue = queue
def run(self):
q_method, kwargs = self.__queue.get()
q_method(**kwargs)
self.__queue.task_done()
def start_thread(request_queue):
# 启动线程
for i in range(request_queue.maxsize):
t = CustomThread(request_queue)
t.setDaemon(True)
t.start()
def test(id):
print("test start by id:{}".format(id))
time.sleep(1)
python的多线程的一个类,直接可以使用
最新推荐文章于 2022-10-30 16:00:07 发布
本文介绍了一个可以直接使用的Python多线程类,通过实例化和调用方法,轻松实现多线程操作。适用于并行执行任务,提高程序效率。
摘要由CSDN通过智能技术生成