To create threads, create a new class that extends the Thread
class, and instantiate that class. The extending class must override the run
method and call the start
method to begin execution of the thread.
Inside run
, you will define the code that constitutes a new thread. It is important to understand that run
can call other methods, use other classes and declare variables just like the main thread. The only difference is that run
establishes the entry point for another, concurrent thread of execution within your program. This will end when run
returns.
Here's an example:
public class MyThread extends Thread {
private final String name;
public MyThread(String name) {
this.name = name;
}
public void run() {
try {
for (; ; ) {
System.out.println(name);
Thread.sleep(1000);
}
} catch (InterruptedException e) {
System.out.println("sleep interrupted");
}
}
public static void main(String[] args) {
Thread t1 = new MyThread("First Thread");
Thread t2 = new MyThread("Second Thread");
t1.start();
t2.start();
}
}
You will see this on the screen:
First Thread
Second Thread
First Thread
Second Thread
First Thread
This tutorial also explains the Runnable
interface. With Spring, you could use a thread pool.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…