Chapter: Java The Complete Reference - The Java Language - Multithreaded Programming

Study Material, Lecturing Notes, Assignment, Reference, Wiki description explanation, brief detail

Creating Multiple Threads - Java

So far, you have been using only two threads: the main thread and one child thread. However, your program can spawn as many threads as it needs.

Creating Multiple Threads

 

So far, you have been using only two threads: the main thread and one child thread. However, your program can spawn as many threads as it needs. For example, the following program creates three child threads:

 

// Create multiple threads.

 

class NewThread implements Runnable { String name; // name of thread Thread t;

 

NewThread(String threadname) { name = threadname;

 

t = new Thread(this, name); System.out.println("New thread: " + t); t.start(); // Start the thread

 

}

 

// This is the entry point for thread. 

public void run() {

 

try {

 

for(int i = 5; i > 0; i--) { 

System.out.println(name + ": " + i); 

Thread.sleep(1000);

 

}

 

} catch (InterruptedException e) { System.out.println(name + "Interrupted");

}

 

System.out.println(name + " exiting.");

 

}

 

}

class MultiThreadDemo {

 

public static void main(String args[]) { new NewThread("One"); // start threads new NewThread("Two");

 

new NewThread("Three");

 

try {

 

// wait for other threads to end 

Thread.sleep(10000);

 

}     catch (InterruptedException e) { System.out.println("Main thread Interrupted");

}

 

System.out.println("Main thread exiting.");

 

}

 

}

Sample output from this program is shown here. (Your output may vary based upon the specific execution environment.)

 

New thread: Thread[One,5,main]

 

New thread: Thread[Two,5,main]

 

New thread: Thread[Three,5,main]

 

One: 5

 

Two: 5

 

Three: 5

 

One: 4

 

Two: 4

 

Three: 4

 

One: 3

 

Three: 3

 

Two: 3

 

One: 2

 

Three: 2

 

Two: 2

 

One: 1

 

Three: 1

 

Two: 1

 

One exiting.

 

Two exiting.

 

Three exiting.

 

Main thread exiting.

 

As you can see, once started, all three child threads share the CPU. Notice the call to sleep(10000) in main( ). This causes the main thread to sleep for ten seconds and ensures that it will finish last.

 

Study Material, Lecturing Notes, Assignment, Reference, Wiki description explanation, brief detail


Copyright © 2018-2020 BrainKart.com; All Rights Reserved. Developed by Therithal info, Chennai.