腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
Linux
select
()不
阻塞
、
、
、
、
我正试图更好地理解
select
()和poll()之间的区别。为此,我尝试实现一个简单的程序,它将以只写方式打开文件,将其文件描述符添加到读取集,然后执行
select
,希望函数会
阻塞
,直到授予读取权限为止。()\n"); if(
select
_return == -1){我也不知道为什么
select
不会阻止当一个文件,即被
浏览 4
提问于2019-11-05
得票数 0
回答已采纳
4
回答
Linux
网络IO Noob:
Select
()和Recvfrom,
阻塞
还是非
阻塞
?
、
、
、
代码首先调用
select
(),然后调用recvfrom()。根据我的研究,似乎只有当
select
()返回有可用的数据时,才会调用recvfrom()。这段代码基本上由一个连续侦听多播消息的线程组成。因此,它基本上位于
select
()例程中,直到它接收到数据或超时。此外,理想情况下,我希望尽可能多地释放CPU。有没有办法让进程进入休眠状态,直
浏览 2
提问于2013-06-15
得票数 0
回答已采纳
4
回答
使用带有"
select
“函数的非
阻塞
套接字有什么好处?
、
、
我正在用
Linux
编写一个服务器,它必须支持来自多个客户端的同时读写操作。我想使用
select
函数来管理读/写可用性。所以,如果我使用
select
,并且我知道read函数不会
阻塞
,为什么我需要将我的套接字设置为非
阻塞
呢?
浏览 15
提问于2012-10-07
得票数 6
回答已采纳
1
回答
在无持续时间超时的民意测验中,Mio的行为是什么?
、
根据 如果timeval结构的两个字段都为零,则
select
()立即返回。Mio在Duration::from_secs(0)上的行为是什么,它会像
Linux
的
select
()那样工作吗?
浏览 1
提问于2018-04-11
得票数 3
1
回答
唤醒阻止在
Linux
中读取的串行端口
、
、
在套接字编程中,您可以通过关闭()调用来唤醒
select
()上
阻塞
的所有线程。 如果
select
()监视的文件描述符在另一个线程中关闭,则结果未指定。在
Linux
(和其他一些系统)上,关
浏览 1
提问于2013-10-08
得票数 4
回答已采纳
4
回答
当套接字关闭时取消阻止recvfrom
、
、
、
套接字调用将在recvfrom上
阻塞
。然后,在另一个线程中,我关闭了套接字。有没有人能帮我搞清楚
Linux
上发生了什么?当套接字关闭时,我希望recvfrom解除
阻塞
我一直在阅读关于使用
select
()的文章,但我不知道如何在我的特定情况下使用它。
浏览 2
提问于2011-06-18
得票数 9
1
回答
终端控制库,阻止输入和一些自定义的数据通道?
、
ncurses的
阻塞
模式似乎只允许在stdin上进行
阻塞
--也就是说,在按下键或数据到达管道之前,我无法选择在
select
()-esque中执行getch()
阻塞
。编辑:我的目标是
Linux
平台,虽然解决方案越通用,越好。
浏览 2
提问于2019-05-29
得票数 2
3
回答
使用非
阻塞
读取选择
、
、
、
在
Linux
上调用
select
读取文件并将套接字设置为非
阻塞
时,应该期待什么?我不认为这很简单,因为
select
手册页声明:如果套接字是非
阻塞
的,它不应该
阻塞<
浏览 3
提问于2015-03-04
得票数 4
回答已采纳
1
回答
如何区分fifo可操作和可读的内容?
、
、
我对
Linux
上的fifo有些陌生,而且对
select
()的经验也有限。 我已经知道,在FIFO的读取端调用将
阻塞
,直到写入端完成管道。可以使用O_NONBLOCK打开fifo的读取端,以避免在open()上
阻塞
。然后,您可以在readfd中使用fifo的文件描述符进行
select
(),以便知道文件何时是可操作的-是真的吗?不过,我现在感到困惑的是:在知道文件是可操作的之后,我想知道fifo有可读的内容,也就是说,我想知道fifo文件描述符上的read()不会
阻塞
。为此,我会考虑使用re
浏览 3
提问于2017-10-27
得票数 0
回答已采纳
2
回答
在
Linux
上,
select
()如何确定何时可以不
阻塞
地将TCP/IP连接写入?
、
、
、
、
从手册中选择
select
(): 如果发送缓冲区已满,
select
()将不会返回fd_set中的fd。如果是真的,这是唯一的考虑吗?我可以想象许多可能的标准来确定写是否应该
阻塞
,所以我很感兴趣的是具体地了解它在<
浏览 2
提问于2015-04-17
得票数 4
回答已采纳
1
回答
处于错误状态的套接字是否准备好根据
select
()进行读取?
、
、
(我使用的是PythonV2.6(在
Linux
、Windows和OSX上),但我不认为我的问题是针对CPython或我的目标系统的。)如果我的应用程序在
select
([sock], [], [], None)调用中被
阻塞
,并且远程端突然终止,那么即使我没有选择错误,我还能依靠
select
调用解除
阻塞
吗?我知道做这些事情的正确方法是检查套接字中的错误(例如
select
([sock], [], [sock], None)),但我阅读的文档显示,错误的定义因系统而异。
浏览 2
提问于2011-01-27
得票数 2
回答已采纳
1
回答
用于监控子进程的
select
()的模拟?
、
、
、
、
兼容POSIX的系统中的
select
调用在执行非
阻塞
I/O时非常有用,它可以让用户知道文件描述符何时为I/O操作“准备好了”。有没有类似于waitpid系统调用的东西?我知道可以使用WNOHANG标志使单个waitpid调用非
阻塞
,就像使用MSG_DONTWAIT标志使单个recvfrom套接字调用非
阻塞
一样。但是,有时
select
提供的超时特性更方便,并且允许尽快避免重复调用recvfrom的循环;
select
还允许同时监视多个文件描述符。类Unix系统(特别是<e
浏览 36
提问于2020-06-11
得票数 1
回答已采纳
2
回答
为WinSocks和*nix创建非
阻塞
套接字
、
、
、
、
在C/C++中,如何在WinSocks和*nix中将
阻塞
套接字转换为非
阻塞
套接字,以便
select
()正确工作。您可以对特定于平台的代码使用预处理器。
浏览 4
提问于2008-10-04
得票数 6
回答已采纳
4
回答
在
select
()轮询套接字之前,是否应该将其设置为非
阻塞
?
、
、
我的记忆是,当我们想在套接字描述符上使用
select
()时,这个套接字应该提前设置为NONBLOCKING。 但是今天,我读到了一个源文件,里面似乎没有设置套接字为非
阻塞
的行。我的内存是否正确?
浏览 3
提问于2013-05-19
得票数 2
2
回答
不轮询读取多条UDP消息
、
、
、
、
当我读取TCP数据时,我通常使用带有非
阻塞
套接字(和超时)的poll/
select
,以便在准备读取时得到通知。我遵循这一方法,因为我意识到虚假唤醒的问题和有
阻塞
套接字的潜在问题。由于我的应用程序必须非常快,如果我对recvmmsg采用同样的方法,我将引入一个额外的系统调用(poll/
select
),这可能会减慢执行速度。因此,我的两个问题如下: 使用UDP时,我可以安全地使用没有recvmmsg的poll/
select
从
阻塞
套接字读取,还是必须应用与TC
浏览 3
提问于2015-08-21
得票数 1
1
回答
在kubernetes中,长时间等待的线程可以限制cpu吗?
、
、
多个长时间等待的线程(在远程rest调用响应上被
阻塞
,不受CPU限制)可以限制CPU吗?此cpu节流导致pod重启,因为健康检查响应需要时间才能响应。
浏览 29
提问于2020-12-31
得票数 0
回答已采纳
3
回答
如何使用POSIX
select
()
、
、
、
在
select
()中使用文件描述符之前,是否应该将其设置为非
阻塞
浏览 1
提问于2011-04-05
得票数 3
回答已采纳
3
回答
为什么在
linux
中
select
函数没有被
阻塞
、
我使用
select
()来
阻塞
串行端口。然后我输入一条信息到串口,然后我就会收到这样的信息。在我看来,我认为它会打印一次,但实际上,它是连续打印的。那么我在哪里做错了呢?args) {
select
浏览 1
提问于2017-03-23
得票数 0
1
回答
我是否可以保证,在
select
()报告套接字已准备好读取后,recv()不会
阻塞
?
、
、
、
、
背景:我知道我不能在
select
()之后立即调用accept(),并假设它可以工作,因为客户机可能在
select
()返回后断开连接,即使
select
()告诉我套接字已经为accept()做好了准备。问题:我需要用
select
()/recv()做同样的事情吗?如果
select
()告诉我一个套接字已准备好读取,我是否可以调用recv()并保证它不会
阻塞
(如果它是非
阻塞
套接字,则报告EAGAIN/EWOULDBLOCK )?下面是我在accept()案例中
浏览 5
提问于2014-05-10
得票数 4
回答已采纳
1
回答
设置用于聊天服务器的Jython非
阻塞
套接字
、
、
、
、
虽然示例使用
阻塞
套接字作为
select
,但Jython
select
不能支持它。 因此,我在设置套接字时放置了代码'server_socket.setblocking(0)',但是没有什么改变。此外,我尝试‘从
select
导入cpython_compoatible_
select
作为
select
',但它导致属性错误,'function’对象没有属性'
select
'。server_socket.setblockin
浏览 2
提问于2013-08-15
得票数 1
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
从linux源码看socket的阻塞和非阻塞
linux非阻塞的socket发送数据出现EAGAIN错误的处理方法
linux开发各种I/O操作简析,以及select、poll、epoll机制的对比
Java NIO-阻塞和非阻塞
你还在 Select×吗?
热门
标签
更多标签
云服务器
ICP备案
对象存储
腾讯会议
实时音视频
活动推荐
运营活动
广告
关闭
领券