找回密码
 用户注册

QQ登录

只需一步,快速开始

查看: 3655|回复: 3

为什么异步IO模式比同步IO模式支持更多的连接数?

[复制链接]
发表于 2007-12-31 22:30:28 | 显示全部楼层 |阅读模式
如题
 楼主| 发表于 2007-12-31 22:30:37 | 显示全部楼层
同步的话是你的程序使用自己程序的线程进行一些I/O操作

而异步的话是使用操作系统的线程进行I/O操作,你要做的只是告诉操作系统你要做什么操作

异步不占用自己程序的线程,程序在给操作系统发起异步操作后就可以做别的事情

当然异步要比同步好一点
 楼主| 发表于 2007-12-31 22:30:43 | 显示全部楼层
同步方式 如果使用单线程单连接模式是因为平台的线程数有限

如果使用Select模型支持的连接数有限是因为进行事件处理的开销比较大

而前摄式IO开销是最小的
 楼主| 发表于 2007-12-31 22:30:50 | 显示全部楼层
select模型效率的原因主要是因为select调用在内核里面是“无状态”的。每次都要重复的COPY和遍历。

同步是增加了线程,多了线程切换、唤醒之类的开销。
您需要登录后才可以回帖 登录 | 用户注册

本版积分规则

Archiver|手机版|小黑屋|ACE Developer ( 京ICP备06055248号 )

GMT+8, 2024-11-22 06:36 , Processed in 0.017913 second(s), 6 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表