ftp atm 选课 购物车 三次登录
操作系统:多道操作系统:数据隔离,数控隔离,cpu效率高
分时操作系统:让所有的软件都能够同事进行,提高用户体验,降低cpuxiaol
操作系统管理着:计算机所有的硬件
并发:在一段时间内的多个程序交替使用cpu,让多个程序看起来像同时进行
并行:在一个时刻,有多个进程在多个cpu上同时进行
同步:两个任务一个一个进行
异步:两个任务,能够同时进行
io操作:输入内存:数据从外(网络硬盘)流向内存
输出:数据从内存向外流出
阻塞:input sleep recv recvfrom accept
非阻塞:setblocking(False)
进程是计算机中最小的资源分配单位
进程和程序的区别:
进程的创建 结束:
进程的三状态图:运行 阻塞 就位
multiprocessing模块
Process类
创建一个进程Process(target=函数名,args=(arg1,arg2))
开启一个进程:start()
等待一个进程结束 join,开启10个子进程,做爬虫,然后把爬虫的结果 存储到文件中,主进程是要分析100个网页中额信息
结束进程的方法 异步 terminate()
isalive()查看进程的存活状态
属性:pid ppid
守护进程:守护进程会等待主进程代码结束之后就立即结束
守护进程也是一个子进程,主进程要在子进程结束之后再结束,主进程要回收子进程的资源
A:计算-->io操作
B:等待被计算-->
抢票系统
查看余票
查询票的数量,票的数量-1,将数据写回
服务的角度:一台机器,一个进程不能搞定高并发的需求
进程中的数据安全问题:当多个进程同时去访问同一段数据的时候,就容易产生数据的不安全
给代码上锁,实际上是对这一段代码有一个串行的要求,所有的异步在锁内都编程了同步,大大的降低了代码的效率
进程之间通信 IPC
队列是计算机中一个非常重要的数据结构,一个非常显著的特点,先进先出,在多进程中所有的判断空,判断满,判断个数,都不准确
当队列埋怨之后会阻塞知道满员为止
生产者消费者模型: