Thread.sleep () Never Returns

Mam dziwny błądThread.sleep() na Javie. Z jakiegoś powodu, kiedy dzwonię do snu na niektórych komputerach, nigdy nie powraca. Nie mogę zrozumieć, co może powodować to zachowanie. Początkowo błąd mógł być w innym miejscu mojego kodu, więc wykonałem najprostszy możliwy test snu:

public class SleepTest {
    public static void main (String [] args) {
        System.out.println ("Before sleep...");
        try {
            Thread.sleep (100);
        } catch (InterruptedException e) {
        }
        System.out.println ("After sleep...");
    }
}

Na większości komputerów działa, ale na kilku komputerach, na których zdalnie się loguję, zatrzymuje się na czas nieokreślony między instrukcjami drukowania. Czekałem do pół godziny bez zmiany zachowania. Maszyny wyświetlające ten błąd to komputery z systemem Linux. Oto kilka informacji o maszynach:

$ uname -a
Linux zone29ea 2.6.32-220.17.1.el6.x86_64 #1 SMP Tue May 15 17:16:46 CDT 2012 x86_64 x86_64 x86_64 GNU/Linux
$ java -version
java version "1.6.0_22"
OpenJDK Runtime Environment (IcedTea6 1.10.6) (rhel-1.43.1.10.6.el6_2-x86_64)
OpenJDK 64-Bit Server VM (build 20.0-b11, mixed mode)

Co może powodować to zachowanie?

AKTUALIZACJA

Zmieniona wersja, która wciąż się nie kończy:

public class SleepTest {
    public static void main (String [] args) {
        new Thread () {
            public void run () {
                System.out.println ("Before sleep...");
                try {
                    Thread.sleep (100);
                } catch (InterruptedException e) {
                    e.printStackTrace ();
                }
                System.out.println ("After sleep...");
            }
        }.start();
    }
}

questionAnswers(3)

yourAnswerToTheQuestion