异步的几种方式
目录
继承Thread
Thread t = new Thread() {
@Override
public void run() {
// ...
}
};
t.start();
使用Runnable
Thread t = new Thread(new Runnable() {
@Override
public void run() {
// ...
}
});
t.start();
使用Callable和FutureTask
Callable<String> callable = new Callable<String>() {
@Override
public String call() {
return "Hello Callable!!!";
}
};
FutureTask<String> futureTask = new FutureTask<>(callable);
Thread t = new Thread(futureTask);
t.start();
使用Callable、FutureTask和线程池
Callable<String> callable = new Callable<String>() {
@Override
public String call() {
return "Hello Callable!!!";
}
};
FutureTask<String> futureTask = new FutureTask<>(callable);
ExecutorService service = Executors.newSingleThreadExecutor();
service.execute(futureTask);