SóProvas


ID
1529674
Banca
Quadrix
Órgão
DATAPREV
Ano
2014
Provas
Disciplina
Programação
Assuntos

Analise o código a seguir.

01. package processos;
02.
03. public class Concorrencia implements Runnable{
04.
05. Thread t;
06.
07. Concorrencia(String str) {
08. t = new Thread(this, str);
09. t.start();
10. }
11.
12. public void run() {
13. for (int i = 0; i < 5; i++) {
14. if ((i % 5) == 0) {
15. System.out.println(Thread.currentThread().getName() + " executando...");
16. Thread.yield();
17. }
18. }
19.
20. System.out.println(Thread.currentThread().getName() + " Fim da thread.");
21. }
22.
23. public static void main(String []args){
24. new Concorrencia("Thread 1");
25. new Concorrencia("Thread 2");
26. new Concorrencia("Thread 3");
27. }
28. }

De acordo com a análise do código, determine a alternativa que descreve, corretamente, a função do método yield(), na linha 16.

Alternativas
Comentários
  •  método yeild() faz com que um Thread com maior prioridade possa ser executado primeiro.

  • O método é uma indicação para que a thread corrente pare de executar e dê uma oportunidade pra outras executarem, porém não tem como saber qual a decisão do scheduler de threads. Havendo uma thread de maior prioridade ela será executada. Mas pode ocorrer de a própria thread que deu yield() ser a escolhida.