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

来源:7-13 NIO知识归纳梳理

passerbyYSQ

2020-12-16

http://img.mukewang.com/szimg/5fd968b10911aaa813700853.jpg

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

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


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

写回答

2回答

Qiujuer

2020-12-17

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

0
0

Qiujuer

2020-12-17

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

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

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

0
0

Socket网络编程进阶与实战 系统掌握Socket核心技术

理论+实践,系统且深入掌握Socket核心技术,从容应对各种Socket应用场景的不二之选

2314 学习 · 476 问题

查看课程