网络并发编程

一. 进程

1.1 什么是程序、什么是进程

程序: 一堆没有被执行的代码(死的)

进程:正在运行的程序(活的)

1.2 为什么有进程的概念

为了更加精确的描述出一些实际状态

1.3 进程调度算法发展史

  '''目的就是为了能够让单核的计算机也能够做到运行多个程序'''

  1.先来先服务
      对短作业任务不太友好
  2.短作业优先
      对长作业任务不太友好
  3.时间片轮转法与多级反馈队列
      时间片轮转法:先公平的将CPU分给每个人执行
      多级反馈队列:根据作业长短的不同再合理分配CPU执行时间

二. 并发与并行

1. 并发
    看上去像同时在执行就可以称之为是并发

2. 并行  >>>>   """单核计算机肯定不能实现并行!!! 必须要有多个CPU"""
    必须同一时间同时运行才可以称之为并行

三. 同步与异步-阻塞与非阻塞

3.1 同步与异步

1. 同步
    提交完任务之后原地等待任务的返回结果 期间不做任何事情
2. 异步
    提交完任务之后不愿地等待任务的结果 直接去做其他事情 有结果自动提醒

3.2 同步异步与阻塞非阻塞结合

同步异步:用来描述任务的提交方式
阻塞非阻塞:用来描述任务的执行状态

上述两组属于两个不同概念 但是可以结合
    同步阻塞:银行排队办理业务 期间不做任何事
    同步非阻塞:银行排队办理业务 期间喝水吃东西 但是人还在队列中
    异步阻塞:在椅子上坐着 但是不做任何事
    异步非阻塞:在椅子上坐着 期间喝水吃东西办公                (程序运行的极致)
posted @ 2023-05-10 13:14  codegjj  阅读(3)  评论(0编辑  收藏  举报