ArrayBlockingQueue上的外部同步

时间:2011-06-23 08:46:29

标签: java concurrency locking synchronized

关键字synchronize未出现在ArrayBlockingQueue的源代码中。这是否意味着我可以自由地将其内在锁用于“我自己的目的”?或者这会在未来发生变化吗?

1 个答案:

答案 0 :(得分:3)

总的来说,我会回避它,因为可以决定这样做,但是你的团队中的其他人或第三方图书馆(可能是无意中)也可能依赖于“独家“访问显示器。

将来可能会改变,你现在可能不是唯一想到这一点的人。如果您可以使用private锁定和监视器,或者通过完全不同的系统(例如执行Futures)来实现您想要做的事情,那么这将更加强大。

(这是一个有趣的问题,毫无疑问,有些人会发现我的观点过于防守!)