O Que É IO Não Bloqueante?
O IO não bloqueante é o modelo no qual uma chamada de leitura ou escrita retorna de imediato, informando que nenhum dado está pronto em vez de esperar. O programa então retorna mais tarde, geralmente orientado por uma interface de prontidão como o epoll, para tentar novamente quando o descriptor estiver pronto. Isso permite que uma thread atenda muitas conexões sem travar em nenhuma delas.
Por que isso importa
O IO não bloqueante é como servidores orientados a eventos lidam com alta concorrência usando poucas threads, o que sustenta ferramentas de rede rápidas usadas em CI. Sua desvantagem é um código mais complexo, que precisa rastrear a prontidão de cada operação.
Guias relacionados
What Is Blocking IO?Blocking IO pauses the calling thread until an input or output operation finishes, so the thread cannot do ot…
What Is the Epoll Interface?Epoll is a Linux mechanism for efficiently watching many file descriptors at once and being told which are re…
What Is the Select System Call?The select system call lets a program wait until any of a set of file descriptors becomes ready for IO, or un…