社区
Linux/Unix社区
帖子详情
多路复用select 可以用在多线程里么?
dukang_2005
2009-06-10 05:30:14
select监控一组socketfd, 可否用n个线程,每个线程里用select监控一组不同的socketfd?
这样调用就是如下
select(maxfd1, ...)
select(maxfd2, ...)
select(maxfdn, ...)
会导致maxfdn > ...>maxfd2>maxfd1
使得最后一个select 去扫描所有的fd
...全文
259
7
打赏
收藏
多路复用select 可以用在多线程里么?
select监控一组socketfd, 可否用n个线程,每个线程里用select监控一组不同的socketfd? 这样调用就是如下 select(maxfd1, ...) select(maxfd2, ...) select(maxfdn, ...) 会导致maxfdn > ...>maxfd2>maxfd1 使得最后一个select 去扫描所有的fd
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
once_and_again
2009-06-12
打赏
举报
回复
epoll 是不 是要用 信号 激活? 如果有新的 连接?
yanghehong
2009-06-12
打赏
举报
回复
[Quote=引用 3 楼 puheavy123 的回复:]
为什么不采用新的epoll网络I/O模型而采用老的select网络I/O模型呢?
[/Quote]
epoll是Linux特有的,不是一个标准的东西啊。所以如果楼主使用的是其他操作系统。。。
还有,不同应用场合要求也不一样啊:)
-
千里孤行
lanxi226
2009-06-11
打赏
举报
回复
一个就行了啊
threeleafzerg007
2009-06-11
打赏
举报
回复
用1个select就行了嘛 干嘛要用多个捏?
puheavy123
2009-06-11
打赏
举报
回复
为什么不采用新的epoll网络I/O模型而采用老的select网络I/O模型呢?
猫已经找不回了
2009-06-10
打赏
举报
回复
可以,一般也用不着这样。
http://www.cppblog.com/darkdestiny/archive/2009/01/03/71074.html
这哥们也是不爱用epoll和IOCP的
pottichu
2009-06-10
打赏
举报
回复
当然不是。。。你的理解有错误。。
int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout);
select 只等待 readfds, writefds, exceptfds, 中的 fd
I/O
多路复用
select
,poll
本文介绍了I/O
多路复用
,指出多进程/
多线程
模型存在资源消耗大等弊端,而网络
多路复用
可解决这些问题。常见实现方式有
select
、poll和epoll。详细阐述了
select
和poll函数,包括函数参数、工作原理等,还分析了
select
的两次拷贝和两次遍历,以及poll的优缺点。
IO
多路复用
——
select
本文对比了
多线程
/多进程并发与IO
多路复用
技术在服务器端的处理流程,详细介绍了
select
、poll及epoll的原理与应用,强调了I/O
多路复用
在系统开销上的优势。
IO
多路复用
-
select
的使用详解【C语言】
本文深入探讨了IO
多路复用
(如
select
、poll、epoll)与
多线程
/多进程并发在网络通信中的应用,对比了它们在服务器端并发处理流程上的异同,详细解析了
select
函数的使用方法及处理流程。
并发服务器之
多线程
和
多路复用
(
select
)的区别
本文对比了
多线程
和I/O
多路复用
(如
select
)两种并发服务器模型。I/O
多路复用
通过单一进程监控多个I/O端口,减少系统开销,但编程复杂;
多线程
在同一地址空间运行,共享资源,编程相对简单,但存在线程上下文切换开销。
IO
多路复用
—
多线程
网络并发通信
select
本文介绍了IO
多路复用
技术
select
,用于监控多个文件描述符状态变化,实现单线程处理多客户端连接。对比无
多路复用
服务器并发能力弱的情况,阐述了
多路复用
可避免线程阻塞。还介绍了
select
的数据结构、核心函数及参数,同时给出服务端和客户端代码示例,最后指出
select
存在数据拷贝效率低、检测效率受描述符数量影响及有最大描述符个数上限等局限。
Linux/Unix社区
23,224
社区成员
74,536
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章