更好的解释TAS VS. TTAS在“多处理器编程艺术”Herlihy& Shavits

时间:2014-10-12 07:44:11

标签: multithreading multiprocessing

因此,由于某些原因,我无法掌握完整的概念,因为测试和测试和设置功能为什么比标题中指定的书中的测试和设置功能更快。让我详细说明.......

在附录中的上述参考书中,它进入了计算机体系结构。我已经很好地掌握了这一点。接下来总结一下,由于缓存,TTAS比TAS功能更快。我不明白这是怎么回事。与TAS功能类似,赢得了TTAS功能缓存。 TAS功能的哪个部分导致其工作时间更长或导致TTAS功能缩短的原因。

1 个答案:

答案 0 :(得分:8)

每个线程都有自己的缓存。仅当变量标记为脏时才更新缓存。无论是否成功设置值,TAS(在OS级别)都会将变量标记为脏。这就是导致巨大开销的原因。

因此,所有线程始终使缓存无效。在TTAS的情况下,你可以避免调用TAS,因此只会使缓存无效,现在更加罕见,TAS调用以及释放锁定时。

请记住,这就是我们所教授的内容,而且我没有为您提供参考资料,因此您可能需要再查看一下。