Python 多线程处理:使用线程池并行执行任务
使用 Python 线程池进行并行任务处理
本代码演示了如何使用 Python 的 threading 模块创建线程池,并行执行多个任务。每个线程负责将特定消息写入指定的文件。
tokens 列表包含字符串,每个字符串以 ---- 分隔成两个部分:第一部分是待打印的消息,第二部分是用于写入消息的文件名。
use_thread 函数接受两个参数:消息和文件名。它打开文件,将消息写入文件,然后关闭文件。
代码为列表中的每个 token 创建一个线程。每个线程调用 use_thread 函数,并传入相应的消息和文件名。然后使用 start 方法启动线程。
在所有线程启动后,代码使用 join 方法等待它们完成。这确保了所有线程在程序继续执行之前完成其工作。
threads = []
for i in range(len(tokens)):
threads.append(
threading.Thread(target=use_thread, args=(tokens[i].split('----')[1], tokens[i].split('----')[0]))
)
for t in threads:
t.start()
for t in threads:
t.join()
优点:
- 提高代码执行效率,尤其是处理大量数据或耗时操作时。
- 提高程序响应速度,避免主线程被阻塞。
注意事项:
- 线程过多会导致资源竞争和系统性能下降。
- 需要注意线程安全问题,避免多个线程同时访问共享资源导致数据错误。
原文地址: http://www.cveoy.top/t/topic/mJG4 著作权归作者所有。请勿转载和采集!