Najbardziej wydajny sposób obsługi połączenia klienta (programowanie gniazda)

Dla każdego pojedynczego samouczka i przykładów, które widziałem w Internecie dla samouczków dla gniazd Linux / Unix, kod po stronie serwera zawsze zawiera nieskończoną pętlę, która sprawdza połączenie klienta za każdym razem. Przykład:

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

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

Czy istnieje bardziej skuteczny sposób na strukturyzowanie kodu po stronie serwera, aby nie zawierał nieskończonej pętli, lub kodowanie nieskończonej pętli w taki sposób, że zajmie ona mniej zasobów systemowych?

questionAnswers(7)

yourAnswerToTheQuestion