andrea,
You could try to setup server sockets from multiple threads with SO_REUSEPORT|SO_REUSEADDR flags, instead of having single server socket in the main thread. That way, different threds may accept connections on the same address/port pair, while OS tries to evenly distribute load between them.
