IO 事件模型

来源:互联网 发布:解析嵌套json数据 编辑:程序博客网 时间:2024/04/29 04:04
阻塞方式
    最基本的

select
    应该也是最基本的  
    支持不了太多的句柄
    windows上不能超过64个

poll
    还是最基本的
    比select好一点,也好不到哪儿去

/sys/poll
    linux上的实现基本是增强了的poll,也好不到哪儿去
    sun os上也有,不知道怎么样

/sys/epoll
    linux上最高效的模型了,以前的kernel版本不支持

aio
    posix标准,具体实现不一样

rtsig
    也是linux上的io模型,效率和epoll差不多

kqueue
    freebsd的io模型,简单易用,效率不错 :)

AsyncSelect
    windows上的一种io模型,针对socket, 把io事件通过windows message通知用户,比较适合客户端软件。

EventSelect
    和上面的差不多,只是通过Event系统对象通知。由于XP以前没有ConnectEx, win9x上没有AcceptEx. 考虑向下兼容的系统必须要用这种方式来处理异步Socket连接

overlapped
    windows上的io模型。
    在nt系统中推荐和io completed port 组合使用
    9x上可以使用 event 通知或者通过apc queue来接收通知。










原创粉丝点击