gpt4 book ai didi

multithreading - 更好地解释 TAS Vs。 "The Art Of Multiprocessor Programming"Herlihy & Shavits 上下文中的 TTAS

转载 作者:行者123 更新时间:2023-12-02 06:58:34 24 4
gpt4 key购买 nike

因此,出于某种原因,我无法理解为什么 Test and Test and Set 函数比标题中提到的书中的 Test and set 函数运行得更快的完整概念。让我详细说明......

在附录中的上述引用书中,它稍微涉及了计算机体系结构。我已经很好地掌握了这一点。它继续总结,由于缓存,TTAS 比 TAS 功能更快。我不明白这是怎么回事,为什么会这样。 TTAS 函数不会像 TAS 函数那样缓存。 TAS 功能的哪一部分导致其工作时间更长或导致 TTAS 功能工作时间更短的原因。

最佳答案

每个线程都有自己的缓存。只有当变量被标记为脏时才会更新缓存。 TAS(在操作系统级别)无论何时调用它都会将变量标记为脏,无论它是否成功设置值。这就是造成巨大开销的原因。

正因为如此,所有线程一直在使缓存失效。在 TTAS 情况下,您避免尽可能多地调用 TAS,因此只会在 TAS 调用和释放锁时使缓存无效,现在这种情况少得多。

请记住,这是我们学到的东西,我没有给你引用,所以你可能想多看看。

关于multithreading - 更好地解释 TAS Vs。 "The Art Of Multiprocessor Programming"Herlihy & Shavits 上下文中的 TTAS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26322991/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com