Java Locking有多贵?

Leh*_*ane 1 java performance locking

一般来说,锁定Java有多贵?

特别是在我的情况下:我有一个多线程应用程序,其中有一个主循环从DelayQueue中取出对象并处理它们(使用poll()).在某些时候,不同的线程必须从队列中删除错误的元素(使用remove()).

鉴于remove()相对不常见,我担心锁定每个poll()会导致代码变慢.我的担忧是否合理?

Joa*_*uer 11

除非您分析您的应用并发现这是一个瓶颈,否则它们是不合理的.

一般来说,无关紧要的锁定(即大多数时候不必等待某人释放它的锁)随着Java 5和Java 6的一些变化而变得便宜得多.

如果它足够快,实施它安全,简单和配置文件.