并发编程基本概念

并发编程基本概念

I/O操作 相对内存来说
输入Input输出Output
输入是怎么输入 :键盘\input\read\recv
输出是怎么输出 :显示器 打印机 播放音乐\print\write\send
文件操作 :read write
网络操作 :send recv recvfrom
函数 :print input

计算机的工作分为两个状态
CPU工作 : 做计算(对内存中的数据进行操作)的时候工作
CPU不工作 : IO操作的时候
CPU的工作效率 500000条指令/ms

多道操作系统 :一个程序遇到IO就把CPU让给别人
顺序的一个一个执行的思路变成
共同存在在一台计算机中,其中一个程序执行让出cpu之后,另一个程序能继续使用cpu
来提高cpu的利用率
单纯的切换会不会占用时间 : 会
但是多道操作系统的原理整体上还是节省了时间,提高了CPU的利用率
时空复用的概念

单cpu 分时操作系统 : 把时间分成很小很小的段,每一个时间都是一个时间片,
每一个程序轮流执行一个时间片的时间,自己的时间片到了就轮到下一个程序执行 -- 时间片的轮转

概念:

进程 : 进行中的程序就是一个进程
占用资源 需要操作系统调度
pid : 能够唯一标识一个进程
计算机中最小的资源分配单位
并发
多个程序同时执行 : 只有一个cpu,多个程序轮流在一个cpu上执行
宏观上 : 多个程序在同时执行
微观上 : 多个程序轮流在一个cpu上执行 本质上还是串行
并行
多个程序同时执行,并且同时在多个cpu上执行
同步
在做A事的时候发起B件事,必须等待B件事结束之后才能继续做A事件
异步
在做A事的时候发起B时间,不需要等待B事件结束就可以继续A事件
阻塞
如果CPU不工作 input accept recv recvfrom sleep connect
非阻塞
CPU在工作
线程
线程是进程中的一个单位,不能脱离进程存在
线程是计算机中能够被CPU调度的最小单位

posted @ 2020-07-17 19:07  爱浪的跳蚤  阅读(93)  评论(0编辑  收藏  举报