我想知道POSIX select()调用中的超时值。我理解为什么人们可能想要0的值(用于轮询文件描述符)。还有哪些其他常用价值,以及用途是什么?
答案 0 :(得分:0)
请注意,poll(2)通常优于select(2)用于多路复用(因为FD_SETSIZE
是最高文件描述符的强限制。)
您将使用的实际超时取决于具体情况。在许多GUI widget toolkit框架中,您知道屏幕以50或60Hz刷新,因此您可能会相应地设置超时(例如,设置为20毫秒)。或者您知道鼠标应该每秒至少跟随10次,等等。实际上,这些工具包也有超时,因此poll
或select
超时是在{的每个周期动态计算的。 {3}}。在Web服务器中,超时是可配置的,程序将相应地计算poll
超时。
在实践中,event loop或poll(2)通常高于一毫秒,可能低于几十秒。因人而异。顺便说一下,确切的超时通常不是很重要。
另请参阅select(2)网页(非常有趣的阅读)。