python 多线程版本
时间: 2023-09-01 11:09:31 浏览: 43
Python有一个内置的多线程模块叫做`threading`,可以用来创建和管理多个线程。
下面是一个简单的例子展示如何使用`threading`模块创建和运行多个线程:
```python
import threading
def print_numbers():
for i in range(1, 6):
print(f"Number: {i}")
def print_letters():
for char in 'ABCDE':
print(f"Letter: {char}")
# 创建线程对象
thread1 = threading.Thread(target=print_numbers)
thread2 = threading.Thread(target=print_letters)
# 启动线程
thread1.start()
thread2.start()
# 等待线程执行完毕
thread1.join()
thread2.join()
print("Done")
```
在上面的例子中,我们创建了两个线程对象`thread1`和`thread2`,分别指定了它们要执行的函数`print_numbers`和`print_letters`。然后使用`start()`方法启动线程,并使用`join()`方法等待线程执行完毕。最后输出"Done"表示所有线程执行完毕。
需要注意的是,Python中的多线程由于全局解释器锁(Global Interpreter Lock,GIL)的存在,同一时刻只能有一个线程执行Python字节码。这意味着在CPU密集型任务中,使用多线程并不能充分利用多核处理器的能力。但在IO密集型任务中,多线程可以提高程序的效率。
如果需要充分利用多核处理器来执行CPU密集型任务,可以考虑使用`multiprocessing`模块来创建和管理多个进程。