一.多任务编程
1.什么是多任务编程
多任务编程简单来说就是操作系统可以同时运行多个任务。
2.单核cpu如何实现多任务编程
操作系统轮流让各个任务交替执⾏,每个任务执⾏0.01秒,这样反复执⾏下去。 表⾯上看,每个任务交替执⾏,但CPU的执⾏速度实在是太快了,感觉就像所有任务都在同时执⾏⼀样。
3.多核cpu如何实现多任务编程
真正的并⾏执⾏多任务只能在多核CPU上实现,但是,由于任务数量远远多 于CPU的核⼼数量,所以,操作系统也会⾃动把很多任务轮流调度到每个核 ⼼上执⾏。
二.多进程 编程
1.什么是进程
编写完毕的代码,在没有运⾏的时候,称之为程序 。
正在运⾏着的代码,就成为进程 ,除了包含代码以外,还有需要运⾏的环境等,所以和程序是有区别的。
进程的五状态模型
2.如何创建子进程
os.getpid() 获取当前的进程的pid
os.getppid() 获取当前进程的父进程的pid
"""
import os
print('当前进程(pid=%d)正在运行....' %(os.getpid()))
#在pycharm中编写代码,程序的父进程就是pycharm
print('当前进程的父进程为(pid=%d)正在运行....' %(os.getppid()))
print('开始创建子进程')
pid = os.fork()
if pid==0:
print('这是子进程返回的是0,子进程的pid为%d,父进程为%d' %(os.getpid(),os.getppid()))
else:
print('这里是父进程返回的,返回值为子进程的pid,为%d' %(pid))
执⾏到os.fork()时,操作系统会创建⼀个新的进程复制⽗进程的所有信息到⼦进程中
普通的函数调⽤,调⽤⼀次,返回⼀次,但是fork()调⽤⼀次,返回两次
⽗进程和⼦进程都会从fork()函数中得到⼀个返回值,⼦进程返回是0,⽽⽗进程中返回⼦进程的 id号
程序执行如图所示:
3.window系统如何创建子进程
Window