zoukankan      html  css  js  c++  java
  • (2)同步异步并发并行进程

    并行和并发

    并发:一个cpu同时不停地执行多个程序

    1个人吃10个苹果

    并行:多个cpu通过不停执行多个程序

    10个人吃10个苹果

    同步异步阻塞非阻塞

    场景在多任务当中

    同步:必须等我这件事干完了,你在干,只有一条主线,就是同步

    异步:没等我这件事情干完,你就在干了,有两条主线,就是异步

    阻塞:比如代码有了input,就是阻塞,必须要输入一个字符串,否则代码不往下执行

    非阻塞:没有任何等待,正常代码往下执行.

    同步阻塞:效率低,cpu利用不充分

    异步非阻塞:效率高,cpu过度充分

    同步非阻塞:没有类似input的代码,从上到下执行.默认的正常情况代码

    异步阻塞 :比如socketserver,可以同时连接多个,但是彼此都有recv

    进程的概念:(Process)

    进程 就是正在运行的程序,它是操作系统中,资源分配的最小单位.

    资源分配:(需要cpu来处理,需要内存来临时存储运行数据,都要浪费cpu和内存资源)

    进程号是进程的唯一标识

    同一个程序执行两次之后是两个进程

    进程和进程之间的关系: 数据彼此隔离,通过socket通信

    进程调度算法

    先来先服务fcfs(first come first server):先来的先执行

    短作业优先算法:分配的cpu多,先把短的算完

    时间片轮转算法:每一个任务就执行一个时间片的时间.然后就执行其他的.

    多级反馈队列算法

    越是时间长的,cpu分配的资源越少,优先级靠后

    越是时间短的,cpu分配的资源越多

    进程三状态图

    (1)就绪(Ready)状态

    只剩下CPU需要执行外,其他所有资源都已分配完毕 称为就绪状态。

    (2)执行/运(Running)状态

    cpu开始执行该进程时称为执行状态。

    (3)阻塞(Blocked)状态

    由于等待某个事件发生而无法执行时,便是阻塞状态,cpu执行其他进程.例如,等待I/O完成input、申请缓冲区不能满足等等。

     

     

     

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    在线心理测试脚本
    素数
    设置层叠效果
    年轻,无权享受...
    Unity3D之预设
    Json解析类
    php 正则表达式
    php 字符串处理
    php 基础语法
    SQL 函数
  • 原文地址:https://www.cnblogs.com/lyj910313/p/10787146.html
Copyright © 2011-2022 走看看