What are the ways to define classes that can be run as
threads?
Answer / 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 |
what is difference between object state and behaviour?
which of the following authentication is stronger than the others? a. Http Basic b. Http DIGEST c. Form based
what is the use of Object Factories?
Why do I get a duplicate name error when loading a jar file?
What are the different class loaders used by jvm?
which is the better collection class if the requirement is only displaying the data
What is runnable?
In inglish: How to convert jar to exe files? Em português: Como converter arquivos .jar para .exe?
When is the best time to validate input?
What is meant by method chaining?
What is DTD?
what is Static binding?