如何在Python中使用多线程和多进程
在Python中,可以使用threading
模块来创建和管理多线程,使用multiprocessing
模块来创建和管理多进程。
以下是一个使用多线程的例子:
import threading
def print_numbers():
for i in range(1, 6):
print(i)
thread1 = threading.Thread(print_numbers)
thread2 = threading.Thread(print_numbers)
thread1.start()
thread2.start()
thread1.join()
thread2.join()
print("Done")
在这个例子中,我们创建了两个线程thread1
和thread2
,它们都会调用print_numbers
函数来打印数字1到5。然后通过调用start
方法启动线程,最后通过调用join
方法等待线程执行完毕。
以下是一个使用多进程的例子:
import multiprocessing
def print_numbers():
for i in range(1, 6):
print(i)
process1 = multiprocessing.Process(print_numbers)
process2 = multiprocessing.Process(print_numbers)
process1.start()
process2.start()
process1.join()
process2.join()
print("Done")
在这个例子中,我们创建了两个进程process1
和process2
,它们也会调用print_numbers
函数来打印数字1到5。然后通过调用start
方法启动进程,最后通过调用join
方法等待进程执行完毕。
需要注意的是,在使用多线程时,Python的全局解释锁(GIL)会限制同一时刻只能有一个线程执行Python字节码,因此在多核CPU上并不能真正实现并行执行。而在使用多进程时,每个进程都有自己独立的Python解释器,因此可以实现真正的并行执行。
版权声明
本文仅代表作者观点,不代表米安网络立场。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。