Dúvida thread

E a Pessoal,

Tenho 3 classes, uma é o servidor e as outras duas cliente e estou trabalhando com sockets.
O servidor vai distribuir a mesma tarefa para os clientes, isso por meio threads.
Porém estou com um problema, quando executo o cliente1 e logo depois executo o cliente2, o que era para ser distribuído entre os dois clientes, é tudo feito no cliente1, e o cliente2 não faz nada.
Como é por meio de threads, estive pensando se tem uma forma de aguardar um tempo e depois recomeçar de novo a execução, porque estou achando que o cliente2 não faz nada, pelo fato de até ele conectar com o servidor dá tempo do cliente 1 fazer tudo sozinho.
Resumindo, o que eu queria, era aguardar as duas classes se conectarem ao servidor, para depois retomar a execuçãodas duas threads, tem como fazer isso?
Gratos

Cara, posta o teu codigo ai pra gente dar uma olhada…

ok?

Até mais …

xii cara, o problema é que eu não estou com o código neste pc :frowning:

Mas, só fala, tem alguam forma de parar a execução de uma thread e retomá-la novamente? Já vi algo como wait(), mas não sei se é para isso q serve.

Foi mal pessoal, devia ter trago o código comigo…

Hahahah, essa foi muito boa…
Cara, acho tu acabou de tocar no ponto mais delicado do java…
Para uma Thread e depois reinicia-la.
Tem várias maneiras, porem se for ler a documentação sobre elas todas indicam que não é aconselhavel usa-las, pois não é confiável que a JVM irá retomar o processamento dela, eo que é pior, que a JVM não conseguirá mais desalocar a Thread.

Uma vez passei por um problema que tive que utilizar algo assim, o que fiz foi criar na minha classe uma flag que indica se o processo deveria continuar, e em varias partes do codigo eu testava essa flag. Acho que não foi uma boa pratica, mas tudo bem.

Te aconselho a repensar sua estrutura, de maneira que nao necessite disso.

Blza.

Valeu…

Entendi, tinha pensado em flags tb, acho q vou ter q acabar usando, pq não consegui pensar uma outra forma de distribuir as tarefas, saca?
Vou ver o q faço, mas de qlquer forma vlw

Tem sim como pausar e resumir uma thread. Use para isso um wait, associado a um flag. Por exemplo:
http://www.guj.com.br/posts/list/52663.java#277300

No teu caso, você está querendo implementar uma barreira. Dê uma olhada nas classes Barrier e CountDownLatch do java 5, que devem te ajudar.

Pois é, tem como.
Mas apenas implementando isso dentro da Thread.
Digo não viável quanto a ter uma instancia Thread e querer dar um stop e depois um restart nela.

Dai fica dificil.

Mas muito boa pratica apresentada pelo nosso amigo ViniGodoy .

Até mais…