进程的并行和并发
并行:并行是指两者同时执行,比如赛跑,两个人都在不停的往前跑;(资源够用,比如三个线程,四核的CPU)
并发:并发是指资源有限的情况下,两者交替轮流使用资源,比如一段路(单核CPU资源)同时只能过一个人,A走一段后,让给B,B用完继续给A,交替使用,目的是提高效率。
并行:是从微观上,也就是在一个精确的时间片刻,有不同的程序在执行,这就要求必须有多个处理器。
并发:是从宏观上,在一个时间段上可以看出是同时执行的,比如一个服务器同时处理多个session。
import time from multiprocessing import Process def f(name): print('hello', name) print('我是子进程') if __name__ == '__main__': p = Process(target=f, args=('bob',)) p.start() print('执行主进程的内容了')
Outputs
macname@MacdeMacBook-Pro py % python3 cccccc.py
执行主进程的内容了
hello bob
我是子进程
macname@MacdeMacBook-Pro py %