Você está aqui: Java ::: Dicas & Truques ::: Threads |
|
Como usar o método yield() para parar a thread atual e ceder a CPU para outras threadsQuantidade de visualizações: 13166 vezes |
|
Quando uma thread está sendo executada ela pode se oferecer para se mover para fora da CPU virtual e ceder seu tempo de execução para outras threads. Isso é feito com uma chamada ao método estático yield() da classe Thread. Quando este método é chamado, a thread atual é movida do estado "executando" para o estado "pronta". Desta forma, o gerenciador de threads pode iniciar a execução das demais threads disputando o tempo da CPU. Veja um exemplo:
Ao executar este código você perceberá que a primeira thread cede o tempo da CPU, ou seja, se oferece para ser movida para fora da CPU virtual, a cada três valores impressos. Quando isso acontece a segunda thread é movida do estado "pronta" para o estado "executando". Note, contudo, que não há comportamente previsível em relação a uma thread ceder o tempo de execução para outra. É preciso, antes de tudo, nos inteirarmos da forma pela qual o gerenciador de threads escolhe qual a próxima thread a ser executada, se há considerações em relações à prioridades das threads, etc. Pode ainda acontecer de uma thread ceder seu tempo de execução e continuar executando, talvez pela ausência de outras threads no estado "prontas". |
|
![]() |
|
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
Delphi - Como obter o número do registro atual em um TClientDataSet do Delphi usando a propriedade RecNo Delphi - Como obter e exibir todos os itens selecionados em uma TListBox do Delphi de seleção múltipla |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |