多线程与Python并发:一个实例解析
在Python中,多线程(threading)是一种实现并发的方式。当一个程序被设计成包含多个同时执行的任务时,多线程就显得尤为重要。
以下是一个使用Python内置的threading
模块创建并运行多线程示例的实例解析:
import threading
# 定义一个任务函数
def worker(num):
"""这是一个简单的任务函数,用于演示工作"""
print(f"Worker {num} started...")
# 创建一个线程列表
threads = []
# 设计多线程场景:每个线程执行不同的任务
for i in range(3): # 这里可以改变线程的数量
t = threading.Thread(target=worker, args=(i,)))
threads.append(t) # 将线程添加到列表中
# 启动所有线程
for thread in threads:
thread.start()
# 等待所有线程完成
for thread in threads:
thread.join() # 这里如果需要阻塞主线程,可以使用join方法
这个例子中,我们创建了3个线程,每个线程执行worker
函数,传入不同的参数。最后,我们等待所有线程结束。
注意:多线程并不能保证“并发”,在Python的GIL(全局解释器锁)机制下,同一时间只能有一个线程在CPU上执行代码。如果需要实现真正的并行计算,可以考虑使用多进程(multiprocessing)或第三方库如concurrent.futures
。
还没有评论,来说两句吧...