最近几分钟我一直在为自己辩论,我看到了“是”和“不是”的原因。这源于对Java HashMap vs. Hashtable的回答,看到几个人说Hashtable实际上比较慢。同步方法在单线程应用程序中速度较慢吗?
在我看来,一个同步方法应该绝对没有不同步比它的非同步对手,如果运行在一个单一的线程,因为同步的行动不应该阻止任何东西。也就是说,我会想象编译器处理这两种情况的方式不同,这就是为什么人们说同步更慢。
并不是说这是任何方式的结论,但我对HashMap vs Hashtable进行了一些简单的测试,并且看到速度没什么区别。
瓶颈将出现在你的算法中。因此,同步开销应该很小。 – sybreon 2009-06-10 03:26:50