Beruflich Dokumente
Kultur Dokumente
if (args.length > 0) {
try {
patience = Long.parseLong(args[0]) * 1000;
} catch (NumberFormatException e) {
System.err.println("Argument must be an integer.");
System.exit(1);
}
threadMessage("Finally!");
}
Code 1: main() Method
while (t.isAlive()) {
threadMessage("Still waiting...");
t.join(1000);
if (((System.currentTimeMillis() - startTime) >
patience) &&
t.isAlive()) {
threadMessage("Tired of waiting!");
t.interrupt();
t.join();
}
}
threadMessage("Finally!");
}
Code 4: main() Method
2 Output (Debugging)
run:
main: Starting MessageLoop thread
main: Waiting for MessageLoop thread to finish
main: Still waiting...
main: Still waiting...
main: Still waiting...
main: Still waiting...
main: Still waiting...
Thread-0: Mares eat oats
main: Still waiting...
main: Still waiting...
main: Still waiting...
Thread-0: Does eat oats
main: Still waiting...
main: Still waiting...
main: Still waiting...
main: Still waiting...
Thread-0: Little lambs eat ivy
main: Still waiting...
main: Still waiting...
main: Still waiting...
main: Still waiting...
Thread-0: A kid will eat ivy too
main: Still waiting...
main: Finally!
Output 1: simpleMessage Class Output Result
run:
main: Starting MessageLoop thread
main: Waiting for MessageLoop thread to finish
main: Still waiting...
main: Still waiting...
main: Still waiting...
main: Still waiting...
Thread-0: Good Morning
main: Still waiting...
main: Still waiting...
main: Still waiting...
main: Still waiting...
Thread-0: Good Afternoon
main: Still waiting...
main: Still waiting...
main: Still waiting...
main: Still waiting...
Thread-0: Good Evening
main: Still waiting...
main: Still waiting...
main: Still waiting...
main: Still waiting...
Thread-0: Good Night
main: Finally!
Output 2: modifiedMessage Class Output Result
3 Conclusion
The use of threads in Java and distributed system will make things more efficient and fast. In
the above example, its uses “Thread-0” to display messages using MessageLoop class. The
main class is the one that execute threads to assign some to other classes such as
MessageLoop in above example.
While the MessageLoop class is running, the main class is checking for the thread every
second else it will go to idle mode and end the task.