使用Singleton / Static是否会减慢多线程应用程序(在多核系统上运行)?我正在运行一个应用程序,在8台核心机器上创建6个线程。最初,在所有线程之间共享了一些单例对象。我没有得到预期的性能提升,从单线程到多线程模式。在此之后,我修改了我的代码,使其不存在单例或静态(即试图不在线程之间共享任何内容),并且我的性能提高了大约6次。谁能解释一下你的行为吗?
发布于 2013-05-30 07:37:42
static肯定与经济放缓无关。事实上,静态字段是所有访问中最快的。static单例选择的成语是http://www.oracle.com/technetwork/articles/javase/bloch-effective-08-qa-140880.html,它带来零惩罚,并且完全线程安全。为了获得最佳性能,请遵守以下简单规则:
https://stackoverflow.com/questions/16830271
复制相似问题