ListenableFuture的线程运行状态
在 JAVA的异步(2):guava-ListenableFuture中介绍了ListenableFuture的使用,下面用示例和visulaVM来看看使用ListenableFuture的时候的线程。
自定义ThreadFactory用于给线程起一个便于标识的名称。以 task+自增数数字命名的线程用于执行异步任务,用callback+自增数字命名的线程用于处理异步任务执行完毕后的回调
public class MyThreadFactory implements ThreadFactory {
private final AtomicInteger number=new AtomicInteger();
private final String prefix="task";
@Override
public Thread newThread(Runnable r) {
return new Thread(r,prefix+"-"+number.getAndIncrement());
}
}
public class SecondFactory implements ThreadFactory {
private final AtomicInteger number=new AtomicInteger();
private final String prefix=