Saiu hoje uma questão no examulator, mas a página de resposta está com bug, qual a resposta correta?
Under what circumstances might you use the yield method of the Thread class
1 To call from the currently running thread to allow another thread of the same or higher priority to run
2 To call on a waiting thread to allow it to run
3 To allow a thread of higher priority to run
4 To call from the currently running thread with a parameter designating which thread should be allowed to run
Imagino que seja a número 3, a 1 não é correta porque yield é um método estático da classe Thread e portanto o termo “from the currently running thread” não se aplica.
Apesar de ser estático o método sabe em qual Thread esta sendo chamado para funcionar.
O Sleep() também é estático e deixa o Thread que o chama dormindo
Ao chamar yeild() a JVM vai verificar se tem outras threads de mesma prioridade ou maior prontas pra rodar …