社区
李杰的课程社区_NO_2
python线程进程、异步IO
帖子详情
同步IO、异步IO、阻塞和非阻塞比较
Alexander-li
2023-01-12 15:03:08
课时名称
课时知识点
同步IO、异步IO、阻塞和非阻塞比较
...全文
164
回复
打赏
收藏
同步IO、异步IO、阻塞和非阻塞比较
课时名称课时知识点同步IO、异步IO、阻塞和非阻塞比较
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
IO
模型:
同步
阻塞
、
同步
非
阻塞
、
同步
多路复用、
异步
非
阻塞
异步
I/O(Asynchronous
IO
【A
IO
】):用户线程通过系统调用,向内核注册某个
IO
操作,内核在整个
IO
操作(包括数据准备、数据复制)完成后,通知用户程序,执行后续的业务操作。
非
阻塞
I/O第一个阶段系统调用请求直接返回,可能误认为和
阻塞
I/O没有区别,实则
非
阻塞
I/O直接返回后,其他进程也可以执行系统调用。不断进行轮询查看数据是否已由物理设备拷贝至内核缓冲区,当数据准备就绪后,将数据从内核缓冲区拷贝至用户缓冲区仍然是
阻塞
的。
同步
阻塞
、
同步
非
阻塞
、
异步
非
阻塞
。关注的是线程的状态。
同步
IO
、
异步
IO
、
阻塞
IO
、
非
阻塞
IO
、复用
IO
因此这一过程中它是
阻塞
于select或poll,而没有
阻塞
于recv,有人将
非
阻塞
IO
定义成在读写操作时没有
阻塞
于系统调用的
IO
操作(不包括数据从内核复制到用户空间时的
阻塞
,因为这相对于网络
IO
来说确实很短暂),如果按这样理解,这种
IO
模型也能称之为
非
阻塞
IO
模型,但是按POSIX来看,它也是
同步
IO
,那么也和楼上一样称之为
同步
非
阻塞
IO
吧。一般来讲:
阻塞
IO
模型、
非
阻塞
IO
模型、
IO
复用模型(select/poll/epoll)、信号驱动
IO
模型都属于
同步
IO
,因为阶段2是
阻塞
的(尽管时间很短)。
理解一下5种
IO
模型、
阻塞
IO
和
非
阻塞
IO
、
同步
IO
和
异步
IO
点击上方“码农突围”,马上关注这里是码农充电第一站,回复“666”,获取一份专属大礼包 真爱,请设置“星标”或点个“在看” 作者:尐譽blog.csdn.net/tjiyu/articl...
【彻底理解
同步
异步
阻塞
非
阻塞
】
在操作系统中,程序运行的空间分为内核空间和用户空间。应用程序都是运行在用户空间的,所以它们能操作的数据也都在用户空间。
阻塞
IO
和
非
阻塞
IO
的区别在于第一步发起
IO
请求是否会被
阻塞
:如果
阻塞
直到完成那么就是传统的
阻塞
IO
,如果不
阻塞
,那么就是
非
阻塞
IO
。
李杰的课程社区_NO_2
1
社区成员
237
社区内容
发帖
与我相关
我的任务
李杰的课程社区_NO_2
李杰,英文名Alex,性格开朗幽默,乐天达观,热爱旅游,热爱技术、热爱电影、热爱音乐,讲着一口流利的英语,计算机软件开发出身,老男孩IT教育联合创始人(CTO&Co-Fonuder),老男孩IT教育Python教学总监,51CTO金牌讲师,国内知名Python语言推广者,开源系统应用领域的贡献者。具有10年以上运维+自动化开发经验,致力于提高企业运维自动化水平。Alex老师讲课风趣幽默,是一名“认真”的鸡汤段子手,教学方法多样化,教学新知循循善诱,课程的整体把控能力强,将自己多年的实际经验倾注于Python教学中,对学员未来的Python之路起到关键一步!在教学的时间内受益人数已达数百万人。
复制链接
扫一扫
分享
社区描述
李杰,英文名Alex,性格开朗幽默,乐天达观,热爱旅游,热爱技术、热爱电影、热爱音乐,讲着一口流利的英语,计算机软件开发出身,老男孩IT教育联合创始人(CTO&Co-Fonuder),老男孩IT教育Python教学总监,51CTO金牌讲师,国内知名Python语言推广者,开源系统应用领域的贡献者。具有10年以上运维+自动化开发经验,致力于提高企业运维自动化水平。Alex老师讲课风趣幽默,是一名“认真”的鸡汤段子手,教学方法多样化,教学新知循循善诱,课程的整体把控能力强,将自己多年的实际经验倾注于Python教学中,对学员未来的Python之路起到关键一步!在教学的时间内受益人数已达数百万人。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章