进程的概念

程序与进程(计算机中最小的资源分配单位)

运行中的程序 就是 进程

进程与进程之间的数据是隔离的

线程(计算机中能被操作系统调度的最小单位)

每个程序执行到哪个位置是被记录下来的

在进程中 有一条线程是负责具体的执行程序的

进程的调度(由操作系统完成的) :

被操作系统调度的,每个进程中至少有一个线程

短作业优先算法

先来先服务算法

时间片轮转算法

多级反馈算法

进程的启动 销毁

进程的启动 : 交互(双击) 在一个进程中启动另一个 开机自启动

负责启动一个进程的程序 被称为一个父进程

被启动的进程 被成为一个子进程

销毁 : 交互 被其他进程杀死(在父进程结束子进程) 出错进程结束

父子进程

父进程开启子进程

父进程还要负责对结束的子进程进行资源的回收

进程id --> processid --> pid

在同一台机器上 同一个时刻 不可能有两个重复的进程id

进程id不能设置 是操作系统随机分配的

进程id随着多次运行一个程序可能会被多次分配 每一次都不一样

进程的三状态图

就绪ready 运行run 阻塞block

import os

import time

print(os.getpid())

print(os.getppid()) # parent process id

time.sleep(100)

2.模块multiprocessing模块 :内置模块

multiple 多元化的

processing 进程

把所有和进程相关的机制都封装在multiprocessing模块中了

3.学习这个模块

import os
import time
from multiprocessing import Process

def func():
'''
在子进程中执行的func
:return:
'''
print('子进程 :',os.getpid(),os.getppid())
time.sleep(3)
if name == 'main':
p = Process(target=func)
p.start()
print('主进程 :',os.getpid())

并行 : 多个程序同时被CPU执行

并发 : 多个程序看起来在同时运行

同步 : 一个程序执行完了再调用另一个 并且在调用的过程中还要等待这个程序执行完毕

异步 : 一个程序在执行中调用了另一个 但是不等待这个任务完毕 就继续执行 start

阻塞 : CPU不工作

非阻塞 : CPU工作

posted @ 2019-09-24 15:39  风景!  阅读(174)  评论(0)    收藏  举报