Это зависит от нескольких факторов, но в общем случае ответ должен быть 15
, дай или возьми (больше дай или возьми). Это зависит от того, где находится опрос безопасных точек при выполнении sleep
. На мой взгляд, поток находится в уже в безопасной точке, когда он выполняет sleep
(и я не вижу причин делать это иначе + кажется, что у Мааартинуса такая же мысль). Вы можете прочитать здесь , почему это важно.
Таким образом, ваша нить спала в течение 5 seconds
, GC
включается и останавливает мир (AFAIK поток G C "защищает" страницу и, как таковое, "ошибка защиты памяти") "происходит, и именно так виртуальная машина проводит опрос безопасных точек), поэтому все приложение останавливается на 10 seconds
, но время настенных часов все еще прогрессирует. Таким образом, нет смысла спать 5
больше секунд; легко определить, что нить уже достаточно выспалась.