继承 Thread
//通过继承Thread类
public class MyThread extends Thread {
public void run() {
}
}
//启动线程new MyThread().start();
//直接new一个
Thread thread=new Thread(){
@Override
public void run() {
super.run();
}
};
//启动线程 thread.start();
实现 Runnable 接口
public class MyRunnable implements Runnable{
@Override
public void run() {
}
}
//启动线程 new Thread(new MyRunnable()).start();
//直接new一个
Runnable runnable=new Runnable() {
@Override
public void run() {
}
};
//启动线程 new Thread(runnable).start();
实现 Callable 接口
public class MyCallable implements Callable {
@Override
public Object call() {
return "call";
}
}
//调用
MyCallable callable = new MyCallable();
ExecutorService executorService = Executors.newSingleThreadExecutor();
Future future = executorService.submit(callable);
try {
future.get();//阻塞直到 call方法返回结果
} catch (InterruptedException e) {
e.printStackTrace();
} catch (ExecutionException e) {
e.printStackTrace();
}