What are the ways to define classes that can be run as
threads?
Answer Posted / ranganathkini
1. Have the class extend the java.lang.Thread class and
override the run() method. Example:
public class MyThread extends Thread {
// override the run method
public void run() {
// .. the thread code
}
public static void main( String[] args ) {
MyThread mt = new MyThread();
mt.start();
}
}
2. Have the class implement the java.lang.Runnable interface
and implement the run() method. Then create a new instance
of java.lang.Thread and pass the class instance reference as
a parameter to the constructor of the Thread class. Example:
public class MyThread implements Runnable {
public void run() {
// .. thread code here
}
public static void main( String[] args ) {
Thread theThread = new Thread( new MyThread() );
theThread.start();
}
}
3. Create an inner class (static or non-static) using
eiether technique 1 or 2. Example:
public class MyTestProgram {
private class MyThread implements Runnable {
public void run() {
// .. the thread code
}
}
public static void main( String[] args ) {
Thread theThread = new Runnable( this.new MyThread() );
theThread.start();
}
}
4. Create an anonymouse class of eiether java.lang.Runnable
or java.lang.Thread, override the run() method. Example:
public class TestProgram {
public static void main( String[] args ) {
Thread theThread = new Thread( new Runnable() {
public void run() {
// .. thread code here
}
} );
theThread.start();
}
}
| Is This Answer Correct ? | 5 Yes | 0 No |
Post New Answer View All Answers
How would you reatach detached objects to a session when the same object has already been loaded into the session?
What is ripple effect?
How task's priority is used in scheduling?
How primary key is implemented in Oracle?
Is the infobus client side only?
Why use POJO when I can use hashmap
What is the purpose of the finally clause of a try-catch-finally statement?
Brief description about local interfaces?
What is the RMI and Socket?
Describe, in general, how java's garbage collector works?
Which containers use a border layout as their default layout?
What is the difference between long.class and long.type?
Should synchronization primitives be used on bean methods?
What is glasgow?
What is a sessionfactory? Is it a thread-safe object?