文章目录
进程与程序的区别
进程指的是正在执行的一个过程,是对正在进行程序的抽象概念。
程序仅仅是一堆代码而已。
多道技术
多道指的是多个程序,多道技术解决的是多个程序共用一个cpu的调度问题。一个cpu一次只能执行一个任务,执行任务过程中,如果执行时需要操作硬盘,那cpu等待的时间就比较长,这时可以让cpu去切换做其他的任务。
多道技术就是将内存分为几个部分,放不同的程序,当一个程序执行时间过长或者在等待 I/O时切换cpu做其他的任务,切换时间较短,所以看起来好像是多个程序同时运行了。
并发与并行的区别
并发是单个cpu+多道技术实现的并发,看起来是同时运行,实际上是伪并行。
并行是多个cpu,每个都可以用多道技术实现的同时运行。
开启进程的两种方式
用到的模块:multiprocessing
方式一:定义好需执行的函数,实例化Process对象时调用函数
from multiprocessing import Process
import time
def run(name): # 定义了run函数
print('%s is running' % name)
time.sleep(3)
if __name__ == '__main__': # windows 中Process() 必须放到下面!
p1 = Process(target=run, args=('小明',)) # tar