【问题标题】:Synchronized object vs. unsynchronized object同步对象与非同步对象
【发布时间】:2012-11-21 12:01:43
【问题描述】:

声明“未同步的对象通常比 对于现代编译器来说,同步的那些“不再总是正确的。

这是我今天多次听到的断言。我对断言有两种不同的解释:

  1. 随着现代编译器的进步,同步对象的开销可以很小,可以忽略不计。如果是这样,现代编译器如何实现这一目标?

  2. 在某些情况下,同步对象和非同步对象的性能相同,甚至在某些情况下,同步对象的性能优于非同步对象。我不认为这是可能的,但谁知道呢?

【问题讨论】:

  • 您是在什么地方、在什么情况下听到这个消息的?
  • @MarcovandeVoort 请谷歌引号中的断言,你可能会得到几个点击。

标签: multithreading object optimization compiler-construction synchronization


【解决方案1】:

一种情况是编译器可以通过线程间转义分析静态确定一个对象永远不会被多个线程访问。然后编译器可以使用非同步版本的方法初始化“vtable”(或任何适当的方法分派机制)。

PS。以上是对语句的第一种解释。

【讨论】:

    猜你喜欢
    • 2015-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-30
    • 1970-01-01
    • 2013-08-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多