"Bună, Amigo! Astăzi vom avea o lecție scurtă, dar interesantă. O să vă povestesc despre yield , o metodă statică a clasei Thread."

Ellie v-a spus deja că procesorul comută constant între fire. Fiecărui fir de execuție i se alocă o mică parte din timpul procesorului, numită quantum . Când expiră acest timp, procesorul trece la un alt thread și începe să-și execute comenzile. Apelarea Thread.yield()vă permite să încheiați devreme cuantumul firului curent. Cu alte cuvinte, îi spune procesorului să treacă la următorul thread.

„Dar de ce ar trebui un fir să-și cedeze timpul pentru altul?”

„Nu se întâmplă des. Apelarea yield înseamnă „firul nostru este încheiat cu rândul său înainte de program” și că comanda după yield va începe cu un quantum full time. Astfel, șansele ca acesta să fie întrerupt sunt mai mici. Mai ales dacă este o comandă scurtă, adică executarea nu va dura mult. Această abordare poate fi folosită pentru a optimiza unele procese."

De asemenea, vă pot spune că Thread.sleep(0) funcționează de fapt în același mod. Cred că nu vei folosi foarte mult metoda randamentului la început, dar este util să știi despre asta.