Звоните
Thread.sleep(10000);
Это всегда заставляет текущий поток спать. Даже если вы сделали:
Thread t = new Thread(...);
t.start();
t.sleep(10000);
Это все еще заставит текущий поток спать в течение 10 секунд, оставляя новый поток, чтобы продолжить свой веселый путь. Это почти канонический пример того, почему это предупреждение важно - это потому, что вы вызываете статический метод , как если бы это был метод экземпляра, что делает его look как будто это имеет значение, на что ты это называешь. Это не так. Значение даже не проверяется на ничтожность:
Thread t = null;
t.sleep(10000); // Still sleeps for 10 seconds...
(Я с гордостью могу сказать, что первоначально отправил запрос о функции для этого предупреждения в Eclipse еще в июне 2002 года:)