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.