System.out.println("Time\tThread\t\tEvent");
System.out.println("====\t======\t\t=====");
System.out.println(time() + "threadMain\tStarted ");
InterruptibleThread.sleep(1000);
Multi.threadA = new Thread(new RunnableA(), "threadA");
Multi.threadA.start();
System.out.println(time() + "threadMain\tCreated threadA");
InterruptibleThread.sleep(1000);
Multi.threadC = new Thread(new RunnableC(), "threadC");
Multi.threadC.start();
System.out.println(time() + "threadMain\tCreated threadC");
InterruptibleThread.sleep(2000);
System.out.println(time() + "threadMain\tCancelling threadD");
Multi.threadD.interrupt();
InterruptibleThread.sleep(1000);
System.out.println(time() + "threadMain\tExiting");
}
public static String time() {
long time = (System.currentTimeMillis() - startTime) / 1000 +
1000;
return(time + "\t");
}
}
class RunnableA implements Runnable {
public void run() {
System.out.println(MyMain.time() + "threadA\t\tStarting...");
InterruptibleThread.sleep(1000);
Multi.threadD = new Thread(new RunnableD(), "threadD");
Multi.threadD.start();
System.out.println(MyMain.time() + "threadA\t\tCreated
threadD");
InterruptibleThread.sleep(3000);
System.out.println(MyMain.time() + "threadA\t\tExiting ");
}
}
class RunnableB implements Runnable {
public void run() {
System.out.println(MyMain.time() + "threadB\t\tStarting... ");
InterruptibleThread.sleep(4000);
System.out.println(MyMain.time() + "threadB\t\tExiting ");
}
}
class RunnableC implements Runnable {
public void run() {
System.out.println(MyMain.time() + "threadC\t\tStarting... ");
InterruptibleThread.sleep(2000);
System.out.println(MyMain.time() + "threadC\t\tJoining
threadMain");
Search WWH :
Custom Search
Previous Page
Multithreaded Programming with JAVA - Topic Index
Next Page
Multithreaded Programming with JAVA - Bookmarks
Home