Junior — Middle
Proses və ya axınların idarə olunmasında sleep və yield funksiyaları arasındakı fərq nədir?
sobes.tech Süni İntellekt
AI-dan cavab
Функция sleep приостанавливает выполнение текущего потока на заданное время, освобождая процессор, но поток остаётся в состоянии ожидания и не готов к выполнению, пока не истечёт время сна.
Функция yield добровольно отдаёт процессор другим потокам, которые готовы к выполнению, но при этом текущий поток остаётся в состоянии готовности и может быть немедленно возобновлён планировщиком, если других потоков нет или они не готовы.
Пример:
Thread.sleep(1000); // поток "спит" 1 секунду
Thread.yield(); // поток предлагает планировщику переключиться на другой поток
Таким образом, sleep используется для паузы, а yield — для добровольной уступки процессора без паузы.