TG Telegram Group & Channel
Java Developer | United States America (US)
Create: Update:

Вопрос с собеседования

Можно ли явно передать управление другому потоку?

Ответ:
В Java нельзя явно указать, какому потоку передать управление. Thread.sleep() гарантированно приостанавливает текущий поток как минимум на заданное время, но решение о том, какой поток выполнится следующим, остаётся за планировщиком. Thread.yield() вообще ничего не гарантирует — это лишь рекомендация планировщику временно приостановить текущий поток в пользу другого с тем же приоритетом.

Единственный способ заставить поток уступить процессор — это привести его в состояние блокировки: с помощью wait(), join(), LockSupport.park() или блокировок (synchronized, ReentrantLock и др.). Это приостанавливает выполнение до выполнения условий разблокировки, но даже в этом случае нельзя указать, какой именно поток будет следующим — планировщик сам решает порядок.


tags: #собеседование

📱 Java Developer | Чат

Вопрос с собеседования

Можно ли явно передать управление другому потоку?

Ответ:
В Java нельзя явно указать, какому потоку передать управление. Thread.sleep() гарантированно приостанавливает текущий поток как минимум на заданное время, но решение о том, какой поток выполнится следующим, остаётся за планировщиком. Thread.yield() вообще ничего не гарантирует — это лишь рекомендация планировщику временно приостановить текущий поток в пользу другого с тем же приоритетом.

Единственный способ заставить поток уступить процессор — это привести его в состояние блокировки: с помощью wait(), join(), LockSupport.park() или блокировок (synchronized, ReentrantLock и др.). Это приостанавливает выполнение до выполнения условий разблокировки, но даже в этом случае нельзя указать, какой именно поток будет следующим — планировщик сам решает порядок.


tags: #собеседование

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM


>>Click here to continue<<

Java Developer




Share with your best friend
VIEW MORE

United States America Popular Telegram Group (US)