"Здравей, Амиго! Днес ще имаме кратък, но интересен урок. Ще ти разкажа за yield , статичен метод на класа Thread."

Ели вече ти каза, че процесорът постоянно превключва между нишки. На всяка нишка се разпределя малка част от процесорното време, наречена квант . Когато това време изтече, процесорът превключва към друга нишка и започва да изпълнява своите команди. Извикването Thread.yield()ви позволява да прекратите текущата нишка по-рано. С други думи, той казва на процесора да премине към следващата нишка.

„Но защо една нишка трябва да отстъпи времето си на друга нишка?“

„Не се случва често. Извикването на yield означава, че «нашата нишка е готова с реда си предсрочно» и че командата след yield ще започне с пълен работен ден. По този начин шансовете тя да бъде прекъсната са по-малки. Особено ако е кратка команда, т.е. изпълнението й няма да отнеме много време. Този подход може да се използва за оптимизиране на някои процеси."

Мога също да ви кажа, че Thread.sleep(0) всъщност работи по същия начин. Мисля, че в началото няма да използвате много метода на доходността , но е полезно да знаете за него.