在 Python 中,你可以使用内置的 threading
模块来创建和管理多线程。
下面是一个简单的示例,展示了如何设置多线程:
import threading
def print_numbers():
for i in range(1, 6):
print("Thread 1:", i)
def print_letters():
for letter in ['a', 'b', 'c', 'd', 'e']:
print("Thread 2:", letter)
# 创建线程对象
thread1 = threading.Thread(target=print_numbers)
thread2 = threading.Thread(target=print_letters)
# 启动线程
thread1.start()
thread2.start()
# 等待线程执行结束
thread1.join()
thread2.join()
print("Done.")
在上面的示例中,我们定义了两个函数 print_numbers
和 print_letters
,分别用于打印数字和字母。然后,我们创建了两个线程对象 thread1
和 thread2
,并将相应的函数作为目标传递给线程对象。最后,我们通过调用 start()
方法来启动线程,并使用 join()
方法等待线程执行结束。
需要注意的是,Python 中的多线程是基于线程切换的,并不适用于 CPU 密集型任务。由于 Python 的全局解释器锁(GIL)的存在,同一时间只能有一个线程执行 Python 字节码。因此,在处理 CPU 密集型任务时,多线程并不能发挥真正的并行性能优势。但是,对于 I/O 密集型任务,如网络请求或文件操作,多线程可以带来并发执行的好处。
如果你想在 Python 中进行 CPU 密集型的并行计算,可以考虑使用多进程 (multiprocessing
) 模块,它允许同时运行多个解释器进程,每个进程都有自己的 GIL。这样可以实现真正的并行计算。