多线程和多进程都是操作系统级别的并发处理方式。多进程指的是操作系统同时执行多个进程,多线程指的是一个进程内同时执行多个线程。在Python中,我们通常使用multiprocessing
和threading
模块来实现多进程和多线程。
import threading
def work():
for i in range(5):
print("work executing")
def main():
t1 = threading.Thread(target=work)
t2 = threading.Thread(target=work)
t1.start()
t2.start()
t1.join()
t2.join()
if __name__ == "__main__":
main()
在上面的示例中,我们定义了一个work()
函数,该函数打印"worf executing"5次。在main()
函数中,我们创建了两个线程t1
和t2
,并分别启动它们。最后,我们使用join()
函数等待线程结束。
import multiprocessing
def work():
for i in range(5):
print("work executing")
def main():
p1 = multiprocessing.Process(target=work)
p2 = multiprocessing.Process(target=work)
p1.start()
p2.start()
p1.join()
p2.join()
if __name__ == "__main__":
main()
在上面的示例中,我们同样定义了一个work()
函数,该函数打印"worf executing"5次。不同的是,在main()
函数中,我们创建了两个进程p1
和p2
,并分别启动它们。最后,我们使用join()
函数等待进程结束。
在这篇文章中,我们介绍了多线程和多进程的概念、区别以及使用示例。选择使用多线程还是多进程应该根据具体的业务需求来确定,如果需要处理的任务是I/O密集型的,多线程是一个不错的选择;如果需要处理的任务是计算密集型的,多进程更加适合。