Yes. This is a common way to design multithreaded servers and accepted design practice.
You can also fork
several times and have the child processes call accept
, this will allow you to do multithreading without needing a threads library. Older servers do this.