- A Thread can be created by extending Thread class also. But Java allows only one class to extend, it wont allow multiple inheritance. So it is always better to create a thread by implementing Runnable interface. Java allows you to impliment multiple interfaces at a time.
- By implementing Runnable interface, you need to provide implementation for run() method.
- To run this implementation class, create a Thread object, pass Runnable implementation class object to its constructor. Call start() method on thread class to start executing run() method.
- Implementing Runnable interface does not create a Thread object, it only defines an entry point for threads in your object. It allows you to pass the object to the Thread(Runnable implementation) constructor.
Thread Sample Code
Code: |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
package com.myjava.threads;
class MyRunnableThread implements Runnable{
public static int myCount = 0 ;
public MyRunnableThread(){
}
public void run() {
while (MyRunnableThread.myCount <= 10 ){
try {
System.out.println( "Expl Thread: " +(++MyRunnableThread.myCount));
Thread.sleep( 100 );
} catch (InterruptedException iex) {
System.out.println( "Exception in thread: " +iex.getMessage());
}
}
}
}
public class RunMyThread {
public static void main(String a[]){
System.out.println( "Starting Main Thread..." );
MyRunnableThread mrt = new MyRunnableThread();
Thread t = new Thread(mrt);
t.start();
while (MyRunnableThread.myCount <= 10 ){
try {
System.out.println( "Main Thread: " +(++MyRunnableThread.myCount));
Thread.sleep( 100 );
} catch (InterruptedException iex){
System.out.println( "Exception in main thread: " +iex.getMessage());
}
}
System.out.println( "End of Main Thread..." );
}
}
|
|
Example Output
Starting Main Thread...
Main Thread: 1
Expl Thread: 2
Main Thread: 3
Expl Thread: 4
Main Thread: 5
Expl Thread: 6
Main Thread: 7
Expl Thread: 8
Main Thread: 9
Expl Thread: 10
Main Thread: 11
End of Main Thread...
- See more at: http://www.java2novice.com/java_thread_examples/implementing_runnable/#sthash.cuT8c5s2.dpuf
No comments:
Post a Comment