"Olá amigo! Hoje teremos uma aula curta, porém interessante. Vou falar sobre yield , um método estático da classe Thread."
Ellie já disse a você que o processador alterna constantemente entre os threads. Cada thread recebe um pequeno pedaço de tempo do processador, chamado quantum . Quando esse tempo expira, o processador muda para outro thread e começa a executar seus comandos. A chamada Thread.yield()
permite encerrar o quantum do thread atual mais cedo. Em outras palavras, ele diz ao processador para mudar para o próximo thread.
"Mas por que um segmento precisaria ceder seu tempo para outro segmento?"
"Isso não acontece com frequência. Chamar yield significa «nosso thread terminou com sua vez antes do previsto» e que o comando após o yield começará com um quantum de tempo integral. Assim, as chances de que ele seja interrompido são menores. Principalmente se for um comando curto, ou seja, não demorará muito para ser executado. Essa abordagem pode ser usada para otimizar alguns processos."
Também posso dizer que Thread.sleep(0) funciona da mesma maneira. Acho que você não usará muito o método yield no início, mas é útil conhecê-lo.
GO TO FULL VERSION