<分区>
据我所知,多线程编程的一个主要目标是通过利用多个处理核心来提高性能。重点是最大化并行执行。
当我看到线程安全的通用数据结构类时,我觉得有些讽刺。因为线程安全意味着强制串行执行(锁、原子操作或其他),所以它是反并行的。线程安全的类意味着序列化被封装并隐藏到类中,因此我们将有更多机会强制串行执行——损失性能。最好在更大(或最大)的单元(应用程序逻辑)中管理这些关键部分。
那么为什么人们需要线程安全类呢?它们的真正好处是什么?
附言 我的意思是线程安全类是一个只有线程安全方法的类,可以安全地从多个线程同时调用。 安全 意味着它保证正确的读/写结果。 正确表示其结果与单线程执行下的结果相同。 (例如避免 ABA 问题)
所以我认为术语线程安全在我的问题中根据定义包含串行执行。这就是为什么我对其目的感到困惑并提出这个问题的原因。