Sim, existem várias maneiras de fazer isso, entre elas multiplexação de E/S, E/S de acionamento de sinal e E/S assíncrona.
É provável que, para seus propósitos, a multiplexação seja suficiente e seja de longe a mais fácil de implementar e acertar. Investigar Selecione, votação ou Epoll Há uma abundância de artigos, referências e exemplos disponíveis e sem escassez de perguntas/respostas aqui para ajudá -lo a começar. As linguagens de programação mais comuns têm um mecanismo para expor esses serviços.