请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

select()什么情况下会返回0 ??

https://img1.sycdn.imooc.com//szimg/5fd968b10911aaa813700853.jpg

select()不是阻塞直到有一个通道在所关注的事件上就绪了吗?没有就绪通道时,不是应该阻塞才对吗?那什么情况下才会返回0?

select()的返回值具体代表什么含义?


一些代码一推敲,感觉自己理解还是不深入

正在回答 回答被采纳积分+3

2回答

Qiujuer 2020-12-17 11:30:27

返回的值,代表的是当前是否有就绪的事件,其事件的量级

0 回复 有任何疑惑可以回复我~
Qiujuer 2020-12-17 11:30:03

哎??微信是回答你了是不是呀??

当前的selector的select操作是阻塞的,也可以不阻塞,阻塞情况下,其他线程可以唤醒selector,此时会中断阻塞直接返回。那么此时可能存在为0的情况。

另外的部分极端情况下线程也可能会被意外中断导致返回,此时也可能存在为0的情况。

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信