Na klientovi potřebuješ minimalně jedno vlákno (kromě hlavního) na zapisování do output streamu a čtení z input streamu. Ale raději pro zvlášt vlákno pro čtení a zvlášť pro zápis.
Na serverové straně potřebuješ pro každého klienta minimálně jedno vlákno.