java 多线程系列文章列表, 请查看目录: 《java 多线程学习笔记》
1. 创建异步任务
为了测试方法, 笔者创建一个有返回值的Callable类, 创建一个无返回值的Runnable 类.
1.1 自定义Callable
public class MyCallable implements Callable<String> {
@Override
public String call() throws Exception {
int costTime = new Random().nextInt(10);
String name = Thread.currentThread().getName();
System.out.println(name + "-任务执行开始, 耗时:" + costTime + " 秒");
Thread.sleep(costTime * 1000);
System.out.println(name + "-任务执行结束, 耗时:" + costTime + " 秒");
return name;
}
}
1.2 自定义Runnable
public class MyRunnable implements Runnable {
@Override
public void run() {
try {
String start = LocalDateTime.now().toString();
Thread.sleep(3000l);
String end = LocalDateTime.now().toString();
System.out.