我听说const
在 C ++ 11 中意味着线程安全。这是真的吗?
这是否意味着const
现在相当于 Java ' synchronized
?
他们的关键字耗尽了吗?
答案 0 :(得分:0)
这是 K-ballo 答案的补充。
术语线程安全在这种情况下被滥用。正确的措辞是:常量函数意味着线程安全按位常量或内部同步,如Herb Sutter (29: 43) 自己
同时从多个线程调用 const 函数应该是线程安全的,无需在另一个线程中同时调用非常量函数。 >
因此,const 函数不应该(并且不会在大多数情况下)真正是线程安全的,因为它可能会读取可能被另一个 非常量 功能。通常,这不是线程安全的,因为即使只有一个线程在写入(另一个线程在读取数据)也会发生数据争用。