Duvidas Threads

Pessoal estou com duvidas a respeito de Threads.

por exemplo numa classe eu tenho sock1 e sock2, tenho que ficar ouvindo estes socks para verificar se chegaram dados.
tendo t1.start() que vai ficar monitorando sock1, tenho t2.start(), que vai ficar monitorando sock2, ai então vem aquelele
lance de que vc tem que colocar um sleep para executar t1.start() e t2.start(), então seguindo minha linha de raciocinio
se ao mesmo tempo chegarem dados para sock1 e sock2, vou perder dados, pois só terei uma Thread em execução naquele momento.
certo ?
Em alguns exemplos de Thread que eu vi a Thread fica monitorando os buffers dos respectivos socks, se tiver alguma coisa no
buffer ele trata os dados, se não tiver ele não faz nada. isso faz sentido. então eu pergunto os socks são tipouma Thread
de sistema que ficam monitorando as portas continuamente, a unica cois que tenho de me preocupar é de ler o buffer ?

espero ter sido claro.

sds

j.silvestre