腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
linux
下
多线程
epoll
的一个问题
、
、
我有一个使用
epoll
(7)的
多线程
linux
程序。
epoll
(7)手册页显示,当其中一个fd关闭时,此fd将自动从
epoll
集合中删除。我的问题是,如果
epoll
集的fd在一个线程中关闭,而
epoll
集在没有同步的情况下在另一个线程中被并发轮询,该怎么办?程序会被破坏吗?还是内核会自动同步这个访问?冯
浏览 0
提问于2011-05-17
得票数 7
回答已采纳
2
回答
使用
epoll
_create1()而不是
epoll
_create()有什么好处?
、
、
、
我正在重写一个
多线程
Linux
-2.6.32+应用程序,将替换为。的手册页声明: int maxevents, int timeout); 这意味着在使用
epoll
时,我们可以避免在
epoll
_crea
浏览 8
提问于2012-04-04
得票数 10
回答已采纳
2
回答
libevent和
epoll
,哪个更有效?
、
我认为这两个事件处理库是最好的。
浏览 5
提问于2011-05-25
得票数 7
1
回答
Linux
服务器发布C++
、
、
、
、
一个多月来,我一直在设法解决这个问题。我没有别的地方可求助了。我有一个服务器可以监听多个多播信道(100 I)。每个套接字都是自己的线程。然后,我有一个客户机侦听器(单线程),它处理同一服务器中的所有传入连接、断开连接和客户端消息传递。这个想法是,一个客户端进来,连接,从一个多播通道请求数据,然后我将数据发送回客户端。客户机保持连接,我将UDP数据中继回客户端。客户端可以请求UDP或TCP具有数据中继的协议。有一段时间,这件事运作得很好,持续了几周。我们做了一些代码和内核的修改,现在我们不知道哪里出了问题。 服务器将运行数小时,一整天都有数百个客户端连接。但是在某个时候,随机的,服务器会停止。
浏览 3
提问于2016-05-19
得票数 1
1
回答
何时使用select与
多线程
进行比较?
、
、
、
、
我刚开始学习为
Linux
服务器编写代码。while(true) client = accept(sock);谷歌告诉我,select可以监视多个文件描述符。 好吧,我明白,但我认为
多线程
可以满足所有的需求。而且,即使我使用select,我
浏览 1
提问于2017-01-06
得票数 0
回答已采纳
6
回答
在大量文件之间处理大量数据的最快套接字方法
、
、
、
、
我应该只使用标准的轮询/
epoll
(
linux
)还是winsock中的异步套接字( win32 ),或者有没有其他性能更好的方法(比如win32上的重叠i/o )?
Linux
和Windows都是可能的平台!
浏览 1
提问于2009-12-02
得票数 4
回答已采纳
2
回答
在每个进程中对非阻塞侦听器使用带有accept()的多个线程
、
、
、
以下战略似乎运作良好: 是否有一种方法在仍然使用EPOLLIN时只有一个线程/进程唤醒以接受()?还是应该重写使用阻塞accept()s,只需要使用线程隔离? 只
浏览 3
提问于2013-10-21
得票数 2
回答已采纳
1
回答
libuv与原始
epoll
或IOCP
、
、
、
我正在为一个消息库编写IO核心,并考虑libuv与在
linux
上使用原始
epoll
和在windows上使用IOCP (最终还有其他,solaris事件等)。
epoll
和IOCP允许多个线程直接等待IO事件,由内核进行调度。可能比用户空间调度更有效,尽管我没有任何数字。我的希望是,假设libuv得到了有效的实现,它的性能应该接近原始
多线程
epoll
/IOCP。我会自己测量,但我想听听任何有经验的人的意见。
浏览 5
提问于2016-05-14
得票数 1
2
回答
当套接字上可能存在I/O时通知线程
、
、
我知道标志O_ASYNC会让系统触发一个SIGIO,但是因为线程在
linux
上有相同的PID,所以整个进程都会捕捉到这个信号。
浏览 2
提问于2019-04-03
得票数 1
1
回答
在无持续时间超时的民意测验中,Mio的行为是什么?
、
同时,
Linux
的 如果timeval结构的两个字段都为零,则select()立即返回。(这对于轮询很有用。)Mio在Duration::from_secs(0)上的行为是什么,它会像
Linux
的select()那样工作吗?
浏览 1
提问于2018-04-11
得票数 3
3
回答
epoll
性能
、
有谁能帮我回答关于
epoll
_wait的问题吗? 是否过度使用在相同的fds上调用
epoll
_wait的线程,这些线程在大约100 K活动套接字上服务?或者仅仅创建一个线程来执行
epoll
_wait?例如,当只有一个套接字准备读取数据时,许
多线程
会从
epoll
_wait中醒来吗?我的意思是,是否会出现两个或更
多线程
从
epoll
_wait中醒来,但在结果事件中具有相同的fds的情况?我认为最好的方法是:1 I/O Worker Thread,它从
epol
浏览 5
提问于2010-01-18
得票数 10
回答已采纳
1
回答
windows中select() python中太多的文件描述符
、
我正在尝试接收到我的服务器的大约1000个连接,但它不能接收超过512个。我能做些什么来增加开放连接的数量?我在运行windows 8.1这是我的密码;import socketimport time def __init__(self): def run(self):
浏览 3
提问于2015-07-09
得票数 1
回答已采纳
1
回答
如何在这段代码中使用
epoll
而不是select?
、
、
break; /* no more readable descriptors */ }}我想知道如何在这里使用"
epoll
“而不是"select”,但是我对
epoll
知之甚少,所以有人能给我一些点吗?
浏览 3
提问于2013-03-08
得票数 1
5
回答
多线程
epoll
、
、
、
、
我正在创建一个使用
epoll
(边缘触发)和非阻塞套接字的
多线程
服务器。目前,我正在主线程上创建一个事件循环,并等待通知,它可以正常工作为每个线程创建一个事件循环,并添加服务器套接字的文件描述符,以查找每个线程的通知。我的意思是:
epoll
thread-safe?)Create是一个单事件循环并等待通知吗?每当收到通知时,都会派生一个线程来处理它。 如果我使用第一种方法,是否有机会让多个线程收到相同事件的通知?
浏览 32
提问于2013-01-29
得票数 12
回答已采纳
1
回答
SO_REUSEPORT套接字服务器
、
、
我一直在为
Linux
开发一个
多线程
socket服务器,我正在尝试不同的方法来多路复用I/O,看看哪种方法效果最好。我做了一个accept(),获取传入连接的fd,所以我将其添加到
epoll
中。在该fd上完成处理后,我自然会调用close()来结束会话。我的一个想法是将accepts从
epoll
处理队列中分离出来,这样关闭
epoll
上的fd就不会清除队列中的accepts。我查找了一个SO_REUSEPORT服务器的源代码,看看其他人可能如何处理这个问题,但我所能找到的只是一个简单的演示,它不是<
浏览 1
提问于2018-09-11
得票数 0
1
回答
epoll
是为
Linux
构建的,不适合在Windows上使用
、
、
、
、
在运行npm start之前,我以前安装了成功的npm install
epoll
。 在安装了必要的模块后,似乎还有最后一个错误,我不知道如何小心。
浏览 4
提问于2019-11-05
得票数 0
回答已采纳
2
回答
如何在Go中手动创建线程?
、
我知道goroutines是处理Go中并发性的方法,但是我正在运行一个测试,在这个测试中,我将比较常规
多线程
服务器与使用级别触发的
epoll
与edge触发的
epoll
的服务器。我可以弄清楚如何创建
epoll
线程,但是我已经搜索了很多关于如何手动创建线程的内容,但是都没有结果。
浏览 0
提问于2015-02-06
得票数 6
回答已采纳
1
回答
是否可以使用单个
Epoll
fd来监视不同类型的套接字上的事件?
、
我一直在构建一个
多线程
服务器,每个线程都有一个
epoll
fd来管理传入的tcp连接。对于线程间通信,我使用unix域套接字,目的是利用现有的每线程
epoll
。但是,如果同时添加了unix域套接字,
Epoll
似乎会停止返回网络套接字事件。 我的问题是,一个
Epoll
实例是否可以用于跟踪tcp套接字和unix域套接字上的事件?这是预期的行为吗?或者我是否需要有一个单独的
Epoll
实例来跟踪这两种不同类型的套接字?
浏览 2
提问于2012-06-09
得票数 0
回答已采纳
3
回答
unix accept()函数两次返回相同的文件描述符
、
、
、
、
我的
多线程
网络服务器程序有问题。 我有一个监听新客户端连接的主线程。我使用
Linux
epoll
来获取I/O事件通知。对于每个传入的事件,我创建了一个接受()新连接的线程,并为它分配了一个fd。
浏览 5
提问于2013-06-12
得票数 1
1
回答
是否有办法在数据包通过套接字到达时得到通知,而不是使用recv()继续轮询?
、
应用程序是
多线程
的,其他线程的目的是在收到特定数据包时进行一些处理。 由于在空闲时间,一个线程继续轮询数据包,因此一个核心的CPU使用率接近100%。
浏览 3
提问于2015-11-19
得票数 2
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
linux多线程服务器
分享:C语言编程——LINUX 多线程
linux开发各种I/O操作简析,以及select、poll、epoll机制的对比
深入理解epoll
本周值得读第 3 期
热门
标签
更多标签
云服务器
ICP备案
实时音视频
对象存储
即时通信 IM
活动推荐
运营活动
广告
关闭
领券