Dubbo消费方线程如何获取调用返回结果 - ambition0802/spring-practice GitHub Wiki
CompletableFuture的complete,当有返回值的时候,为什么要用UNSAFE的compareAndSwapObject方法来设置自己的RESULT字段?
设置值的这个动作,用什么其实是无所谓的,之所以用UNSAFE是因为要使用CAS来设置RESULT的值,以此保证线程安全,所以设值动作是次要的,关键是想要用现成的CAS功能,不要自己再去写了。
CompletableFuture的complete,当有返回值的时候,为什么要用UNSAFE的compareAndSwapObject方法来设置自己的RESULT字段?
设置值的这个动作,用什么其实是无所谓的,之所以用UNSAFE是因为要使用CAS来设置RESULT的值,以此保证线程安全,所以设值动作是次要的,关键是想要用现成的CAS功能,不要自己再去写了。