关键字synchronize
未出现在ArrayBlockingQueue
的源代码中。这是否意味着我可以自由地将其内在锁用于“我自己的目的”?或者这会在未来发生变化吗?
答案 0 :(得分:3)
总的来说,我会回避它,因为你可以决定这样做,但是你的团队中的其他人或第三方图书馆(可能是无意中)也可能依赖于“独家“访问显示器。
将来可能会改变,你现在可能不是唯一想到这一点的人。如果您可以使用private
锁定和监视器,或者通过完全不同的系统(例如执行Futures
)来实现您想要做的事情,那么这将更加强大。
(这是一个有趣的问题,毫无疑问,有些人会发现我的观点过于防守!)