标签:继承 多进程 推荐 from 同步 硬件 引用 运行 target
进程:正在执行的一个过程,是对正在运行程序的一个抽象
操作系统:推荐阅读《操作系统原理》 《现代操作系统》
IO操作
进程调度:多个进程交替运行,操作系统必须对这些进程进行调度,这个调度也不是随即进行的,而是需要遵循一定的法则。
并发与并行
***多道程序系统(程序之间的切换运行,保存状态叫做并发(伪并行))
并行是理想状态,源于多个cpu运行(多核技术)
同步异步(任务的提交方式,异步:多个任务同时提交出去,同时执行)
同步/异步 与 阻塞和非阻塞
空间复用 时间复用è充分利用内存,提高代码运行效率
硬件上内存隔离解决程序切换的不安全
分时系统:常用(每个程序执行一点时间)
实时系统:高进度行业,不切换
进程的创建:
进程结束:
进程并发的实现
import time from multiprocessing import Process def f1(): time.sleep(3) print(‘aaaa’) def f2(): time.sleep(3) print(‘bbb’) f1() #排队进行共6s 串行执行 f2() if __name__ == ‘__main__’: p1 = Process(target = f1,) p2 = Process(target = f2,) p1.start() #给操作系统发信号创建进程,输出顺序不一定 p2.start() #多进程,有I/O切换执行,耗时3s左右,并发代码运行效率提高了一倍 p1.join() #主进程等待子进程,如果没有join命令,会继续执行主进程,CPU执行代码速度快于操作系统 p2.join() print(‘主进程’)
for 循环创建进程
import time from multiprocessing import Process def f1(n): time.sleep(3) print(i) if __name__ == ‘__main__’: for i in range(20): p1 = Process(target = f1,args=(i,)) # i为传入参数或者kwargs ={‘n’:’i’} p1.start() #多进程执行顺序操作系统决定
继承的形式创建进程
class MyProcess(Process): #继承类创建进程对象 def __init__(self,n): super().__init__() #执行父类的init self.n = n def run(self): print(‘a and %s’%self.n) if __name__ == ‘__main__’: p1 = Myprocess(‘b’) p1.start() #a and b
标签:继承 多进程 推荐 from 同步 硬件 引用 运行 target
原文地址:https://www.cnblogs.com/gracenana/p/10239422.html