同步阻塞IO 同步非阻塞IO IO多路复用
1个回答
展开全部
Q1: 阻塞是什么意思或者这个上下文环境是什么?
A: 阻塞是进程5状态或者7状态 其中一个状态,线程也有阻塞态
Q2: 什么情况下会使得运行中的进程进入阻塞态?
A: 因为阻塞态 是等待IO时间完成的过程 ,所以正常情况下IO操作都会进入导致进程(线程)进入阻塞态
Q3: 那非阻塞IO是什么意思?
A:非阻塞IO 就是通过轮询方式 不让线程或者进程 进入阻塞 一直持有CPU资源 的IO操作
同步:指的是被调用方做完事情之后再返回;
异步:指的是被调用方先返回,然后再做事情,做完之后再想办法通知调用方。
Q:非阻塞IO与IO多路复用为什么是同步的?
A: 非阻塞IO 虽然能够立即返回但是 他需要一直while轮询 这是一个阻塞过程
IO多路复用 select 过程也是一个轮询过程
同步 在这里是指 发起调用 到 从内核态数据拷贝到用户态数据结束过程 是不是需要等待
Q:为什么数据需要从内核态拷贝到用户态?
A: 操作系统把运行中内的内存 分为系统空间和用户空间
操作系统 主要是 进程管理 [创建进程,撤销进程等] 存储管理[分配内存,内存置换] 设备管理 文件管理 这些都是管理的操作都运行在系统空间[内核态]
网络IO 属于设备管理 中需要的 内核程序进行网络通信
A: 阻塞是进程5状态或者7状态 其中一个状态,线程也有阻塞态
Q2: 什么情况下会使得运行中的进程进入阻塞态?
A: 因为阻塞态 是等待IO时间完成的过程 ,所以正常情况下IO操作都会进入导致进程(线程)进入阻塞态
Q3: 那非阻塞IO是什么意思?
A:非阻塞IO 就是通过轮询方式 不让线程或者进程 进入阻塞 一直持有CPU资源 的IO操作
同步:指的是被调用方做完事情之后再返回;
异步:指的是被调用方先返回,然后再做事情,做完之后再想办法通知调用方。
Q:非阻塞IO与IO多路复用为什么是同步的?
A: 非阻塞IO 虽然能够立即返回但是 他需要一直while轮询 这是一个阻塞过程
IO多路复用 select 过程也是一个轮询过程
同步 在这里是指 发起调用 到 从内核态数据拷贝到用户态数据结束过程 是不是需要等待
Q:为什么数据需要从内核态拷贝到用户态?
A: 操作系统把运行中内的内存 分为系统空间和用户空间
操作系统 主要是 进程管理 [创建进程,撤销进程等] 存储管理[分配内存,内存置换] 设备管理 文件管理 这些都是管理的操作都运行在系统空间[内核态]
网络IO 属于设备管理 中需要的 内核程序进行网络通信
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询