社区
C#
帖子详情
C# 网络有多路IO复用的概念不?
RFbenson
2010-08-15 10:39:56
在BSD socket里面,linux实现的时候添加了select,POLL 模式的IO复用的概念,C#里面有没这样的概念,google了一下,很少
,但是C#里有select,和poll接口, select用法需要自己指定多个套接字? C#里的多路复用是怎么回事。。谢谢
...全文
405
1
打赏
收藏
C# 网络有多路IO复用的概念不?
在BSD socket里面,linux实现的时候添加了select,POLL 模式的IO复用的概念,C#里面有没这样的概念,google了一下,很少 ,但是C#里有select,和poll接口, select用法需要自己指定多个套接字? C#里的多路复用是怎么回事。。谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
多
路
复用
IO
以及TCP并发服务器的实现(练习)
代码简略的描述了
IO
复用
的流程,以及TCP并发服务器的实现
高性能
IO
模型浅析
服务器端编程经常需要构造高性能的
IO
模型,常见的
IO
模型有四种: (1)同步阻塞
IO
(Blocking
IO
):即传统的
IO
模型。 (2)同步非阻塞
IO
(Non-blocking
IO
):默认创建的socket都是阻塞的,非阻塞
IO
要求socket被设置为NONBLOCK。注意这里所说的N
IO
并非Java的N
IO
(New
IO
)库。 (3)
IO
多
路
复用
(
IO
Multiplexing):即经典的Reactor设计模式,有时也称为异步阻塞
IO
,Java中的Selector和Linux中的epoll都是这种模型。 (4)异步
IO
(Asynchronous
IO
):即经典的Proactor设计模式,也称为异步非阻塞
IO
。 深入浅出介绍这几种模型
C#
基于TCP和select()的聊天室+源文件
此资源是一个基于TCP以及
IO
多
路
复用
技术select()的一个简易且可靠的多人聊天室。可运行在windows平台,开发软件为VS2013,具体功能实现为多个client可以连接到一个server,具有较强的抗并发能力,并且可以互相发送文本信息,有掉线、发送、接收等完善的提示功能。代码注释较为完善且是英文。
IO
多
路
复用
什么是
IO
多
路
复用
多
路
复用
是指使用一个线程来检查多个文件描述符(Socket)的就绪状态,比如调用select和poll函数,传入多个文件描述符,如果有一个文件描述符就绪,则返回,否则阻塞直到超时。得到就绪状态后进行真正的操作可以在同一个线程里执行,也可以启动线程执行(比如使用线程池)。 这样在处理1000个连接时,只需要1个线程监控就绪状态,对就绪的每个连接开一个线程处理就可以了,这样需要的线程数大大减少,减少了内存开销和上下文切换的CPU开销。 操作系统提供的系统调用函数 select: 通过它,我们
IO
多
路
复用
(select)
IO
多
路
复用
技术是指由进程通知内核监听指定的一个或多个
IO
事件,当
IO
事件发生时由内核通知唤醒进程,它一般用在一个进程需要同时监听处理多个
IO
事件的场景,与多进程或多线程的方式相比,使用
IO
多
路
复用
技术无需创建多个进程或线程,减少系统开销。本文将介绍 select 函数的用法,它允许进程通知内核监听多个
IO
事件,并在事件发生或者设置的超时时间到达时唤醒进程处理。
C#
110,571
社区成员
642,568
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章