Ordem de execuçao de Thread

estou estudando threads surgiu uma duvidas sempre falaro que voce nao pode controlar a ordem de execuçao das threads

o pool de threas o executor se vc falar que ele so tem 1 thread

blz so tem uma thread no pool
se vc eu fizer

e.execute(runable1); e.execute(runable2); e.execute(runable3;)
dai ele n vai forçar na execuçao em ordem certa das threads
no caso 123?
como o pool so tem 1 espaço
tem que esperar uma threas acabar para outra começar

seria uma forma de controlar a orden de execuçao das threads?

Você pode visualizar as formas de controle de thread mais a frente no livro da kathy com wait(), notify() e notifyall() da classe object, e join, sleep e yield() da classe thread. o resto estará sujeito ao livre arbítrio do agendado.

Não necessariamente, o pool não garante a ordem de execução nem mesmo assim. Se você realmente precisa garantir a ordem de execução e não vai fazer trabalhos concorrentes você não deveria estar utilizando Threads.

Queria saber por que é que tanto se insiste em ter uma determinada ordem de execução em threads.
O máximo que eu acho necessário é algo semelhante ao “fork”/“join” de um diagrama de atividades UML, que pode normalmente ser programado com Thread.join ou coisas parecidas.

vlw pessoal