— Привіт, Аміго! У нас сьогодні буде невеликий та цікавий урок. Я розповім тобі про yield – статичний метод класу Thread.

Тобі вже відомо, що процесор постійно перемикається між потоками. Кожному потокові виділяється невеликий шматочок процесорного часу, що називається квант. Коли цей час спливає – процесор перемикається на інший потік та починає виконувати її команди. Виклик методу Thread.yield() дозволяє достроково завершити квант часу поточного потоку або, іншими словами, перемикає процесор на наступний потік.

— А навіщо потокові може бути потрібно поступитися своїм часом іншому потоку?

— Необхідність у цьому виникає нечасто. Виклик yield призводить до того, що «наш потік достроково завершує хід», і що наступна після yield команда розпочнеться з повного кванта часу. А тому шансів, що її перервуть, – менше. Особливо, якщо вона невелика (за часом). Такий підхід можна використовувати під час оптимізації деяких процесів.

Ще можу додати, що метод Thread.sleep(0) працює фактично так само. Думаю, ти спочатку використовуватимеш метод yield не дуже часто, але знати про нього — корисно.