1、启动进程实现多任务
现代操作系统(windows,Mac OS X ,Linux等)
多任务:操作系统可以运行多个任务
早期的cpu都是单核cpu实现多任务原理:操作系统轮流让各个任务交替执行,任务反复执行下去,但是cpu调度执行太快,导致感觉多有任务都在同时执行
多核cpu执行多任务原理:真正的并行执行多任务只能在多核cpu上实现,但是由于 任务数量远远超过cpu的核心数量,所以操作系统也会自动将很多任务轮流的调度到每个核心上执行
并发:看上去一起执行,任务数多余cpu核心数
并行:真正一起执行,任务书小于等于cpu核心数(效率最高)
实现多任务方式:
1、多进程模式
2、多线程模式
3、协程模式
4、多进程加上多线程模式
进程:
对于操作系统而言一个任务就是一个进程
进程是系统中程序执行和分配的基本单位,每个进程都有自己的数据段,代码段和堆栈段
单任务现象
from time import sleep
def run():
while True:
print("123")
sleep(1.2)
if __name__ == "__main__":
while True:
print("456")
sleep(1)
#不会执行这个方法只有等上面的while执行完才能执行
run()
启动进程实现多任务
from multiprocessing import Process
from time import sleep
import os
#子进程需要执行的代码
#os.getid获取当前进程的id号
#os.getppid获取当前进程的父进程的id号
def run(str):
while True:
print("sunck is a %s man--%s--%s "% (str, os.getpid(),os.getppid())