一. 继承Thread类
class MyThread extends Thread {
@Override
public void run() {
super.run();
}
}
二. 实现Runnable接口
class MyThread2 implements Runnable {
@Override
public void run() {
}
}
三. 实现Callable接口
class MyThread3 implements Callable<Integer> {
@Override
public Integer call() throws Exception {
System.out.println(Thread.currentThread().getName() + " come in MyThread3...");
return 1024;
}
}
调用一下第三种方式
public static void main(String[] args) throws Exception {
FutureTask<Integer> futureTask = new FutureTask<>(new MyThread3());
Thread t1 = new Thread(futureTask, "T1");
t1.start();
System.out.println("...result: " + futureTask.get());
}
运行结果