Czy to głód?
Znalazłem fragment kodu, w którym wątek wydaje się głodować. Poniżej znajduje się uproszczony przykład. Czy to jest przykład głodu? Jaki jest powód, dla którego wątek się nie kończy?
Uwaga: Zmiana trybu uśpienia na 1 czasami kończy działanie. Skomentowany Thread.yield () rozwiązałby problem (dla mnie).
public class Foo {
public static boolean finished = false;
public static void main(String[] args) {
Runnable worker = new Runnable() {
@Override
public void run() {
try {
Thread.sleep(10);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finished = true;
}
};
new Thread(worker).start();
while (!finished) {
// Thread.yield();
}
}
}