事件轮询和超时有什么关系?

event loop 和 settimeout有什么关系?为什么事件轮询需要设置超时??

轮询和超时没有联系。任何阻塞的同步操作,为了防止程序彻底死掉,必须有超时,使得程序最终可以继续执行。轮询只不过是定时调用这样一个操作罢了。

事件轮询与设置超时没有必然联系。如果每次事件轮询时设置了超时,则轮询可能是一个阻塞操作。例如linux中的select,poll,epoll就是类似操作(它们都提供超时设置参数)。阻塞的轮询操作如果没有超时机制就会一直处于阻塞状态(直到被中断或唤醒)。