package async.up;import java.util.concurrent.DelayQueue;import java.util.concurrent.Delayed;import java.util.concurrent.TimeUnit;public class DelayRetryUtil {上面的程序中,在高并发环境下,return RETRY_DELAY_QUEUE.offer(e); 会不会有NullPointException,以及为什么了?
1 回答

狐的传说
TA贡献1804条经验 获得超3个赞
会不会NullPointException 我不太清楚,但是这种双检锁在单例模式下,需要在对象上加volatile,否则在给对象初始化的时候,可能因为重排序的问题,导致第一个if判断不满足,但是对象本身并不可用。 你可以网上查一查,双检锁的单例模式,必须要加volatile的。
添加回答
举报
0/150
提交
取消