并发问题总结

1.FutureTask原理

public class FutureTask<V> implements RunnableFuture<V>
public interface RunnableFuture<V> extends Runnable, Future<V> {

可以看到继承类

内部是通过一个AQS对象控制的

private final Sync sync;

类似一个同步阻塞队列。

public V get() throws InterruptedException, ExecutionException {
        return sync.innerGet();
    }

在FutureTask上调用get方法。

private final boolean parkAndCheckInterrupt() {
        LockSupport.park(this);
        return Thread.interrupted();
    }

如果没有获取到结果,最终线程会挂起。

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/YAOQINGGG/article/details/79971204
文章标签: 并发 futuretask
个人分类: 并发
上一篇activemq broker topic消息收发处理过程
下一篇netty概览
想对作者说点什么? 我来说一句

并发处理总结

2017年08月25日 83KB 下载

并发问题详述(sql)

2009年09月14日 27KB 下载

没有更多推荐了,返回首页

关闭
关闭