Problemas com um dou core?

Fala galera,

Quando estava testando um aplicativo, me deparei com um erro que acho que pode ter alguma coisa a ver pelo fato do comp ser duo core.
Tenho uma aplicacao aki que realiza transmissao de mensagens na rede, pois bem, o cliente estava esperando ler uma mensagem do servidor, quando rodo o cliente em cima de um comp mono core tudo funciona perfeitamente, mas quando rodo em cima de um duo core as coisas as vezes( ou quae sempre ) dão errado. Parece que a execucão do cliente é muito rápida e este não lê toda a msg enviada pelo servidor.
Como o tamanho das mensagens é padronizado, sei quandos bytes devem ser lidos, e testo para saber se ele recebeu todos, caso nao tenha ele continua recebendo até ler todos os bytes terem sido lidos. Mas mesmo assim as mensagens são lidas de forama errada. O cliente lê de forama errado. Eu já debug os pacotes que são recebidos pela rede e todos vêem de forma correta, é no momento que o cliente lê que algo dá errado.
Contudo, consegui contornar este problem, de forma provisória, colocando um sleep(1) antes do cliente iniciar a leitura da msg( desculpe-me, mas não estou com o código aki, vou colocar-lo o mais rápido).
Não entendi direito o que pode ter acontecido, mas suspeitei que possa ter sido a arquitetura do duo core… alguém já teve algum problema semelhante?

Abracos!!!

Opa… faca o seguinte… pelo jeito deve estar usando Sockets certo ?
Faca o client confirmar a msg q o server mandou, ou seja…
Server ->
out.write(“Message…”);

Client ->

in.read(message);
out.write(“RECEBIDA”)

mas isso vc coloca em um while(pq sempre o server vai ter q esperar o client responder pra falar com ele, certo ?)