Python 多线程遍历处理字典:高效提升效率
可以使用 Python 中的'threading'模块来创建多线程,并使用'Queue'队列来分配任务。下面是一个遍历处理字典的例子:
import threading
import queue
def process_dict(q):
while True:
# 从队列中获取一个任务
task = q.get()
if task is None:
# 如果任务为None,说明任务已经处理完毕,结束线程
break
# 处理任务
key, value = task
print(f'Processing {key}: {value}')
def main():
# 创建一个字典
my_dict = {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
# 创建一个队列
q = queue.Queue()
# 将字典中的每个键值对放入队列中
for k, v in my_dict.items():
q.put((k, v))
# 创建5个线程
threads = []
for i in range(5):
t = threading.Thread(target=process_dict, args=(q,))
t.start()
threads.append(t)
# 等待所有线程结束
for t in threads:
t.join()
if __name__ == '__main__':
main()
上述代码中,我们首先创建了一个字典'my_dict',然后创建了一个队列'q',将字典中的每个键值对放入队列中。接着,我们创建了5个线程,并将队列'q'作为参数传递给它们。在'process_dict'函数中,线程不断地从队列中获取任务,并处理它们,直到队列为空。当队列为空时,线程退出。在'main'函数中,我们等待所有线程结束,然后程序结束。
原文地址: https://www.cveoy.top/t/topic/nv1K 著作权归作者所有。请勿转载和采集!