解决Python多线程并发执行问题
在Python中,由于全局解释器锁(GIL)的存在,多线程并不能实现真正的并行计算。GIL确保同一时刻只有一个线程在CPU上运行。
如果你需要处理大量的I/O操作或者计算密集型任务,可以考虑使用多进程或异步io模型。
以下是一个简单的使用多线程的例子:
import threading
def worker(num):
"""thread worker function"""
print(f"Thread {num}: Working...")
# Create threads
threads = []
for i in range(5): # number of threads
t = threading.Thread(target=worker, args=(i,)))
threads.append(t)
t.start()
# Wait for all threads to finish
for t in threads:
t.join()
这个例子中,虽然创建了5个线程,但由于GIL的存在,每个线程实际上只是轮流占用CPU资源。
还没有评论,来说两句吧...