Maneira mais eficiente de lidar com uma conexão de cliente (programação de soquete)

Para todos os tutoriais e exemplos que vi na Internet para tutoriais de soquete Linux / Unix, o código do lado do servidor sempre envolve um loop infinito que verifica a conexão do cliente todas as vezes. Exemplo:

http://www.thegeekstuff.com/2011/12/c-socket-programming/

http://tldp.org/LDP/LG/issue74/tougher.html#3.2

Existe uma maneira mais eficiente de estruturar o código do lado do servidor para que ele não envolva um loop infinito ou codifique o loop infinito de forma que ele ocupe menos recursos do sistema?

questionAnswers(7)

yourAnswerToTheQuestion