Date: Tue, 01 Oct 2002 09:44:12 +0200 From: Giulio Ferro <aurynkid@libero.it> To: freebsd-java@FreeBSD.ORG Subject: Wrong thread behavior Message-ID: <3D99524C.50605@libero.it>
next in thread | raw e-mail | index | archive | help
Native jdk 1.3.1p7
If we consider the following snippet:
public class SimpleThread extends Thread {
private int countDown = 50;
private static int threadCount = 0;
private int threadNumber = ++threadCount;
public SimpleThread() {
System.out.println("Making " + threadNumber);
}
public void run() {
while(true) {
System.out.println("Thread " +
threadNumber + "(" + countDown + ")");
if(--countDown == 0) return;
}
}
public static void main(String[] args) {
for(int i = 0; i < 5; i++)
new SimpleThread().start();
System.out.println("All Threads Started");
}
} ///:~
You can notice that the execution never breaks out of run() unless you
explicitly put a sleep() or yield().
It goes on any single thread until the thread returns without
automatically switching to the others.
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-java" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3D99524C.50605>
