gpt4 book ai didi

c# - 自旋锁,它们有多大用处?

转载 作者:IT老高 更新时间:2023-10-28 12:40:01 28 4
gpt4 key购买 nike

您发现自己在代码中实际使用自旋锁的频率如何?遇到使用繁忙循环实际上优于使用锁的情况有多常见?
就个人而言,当我编写某种需要线程安全的代码时,我倾向于使用不同的同步原语对其进行基准测试,而且就目前而言,使用锁似乎比使用自旋锁提供更好的性能。不管我实际持有锁的时间有多短,我在使用自旋锁时收到的争用量远远大于我从使用锁中获得的量(当然,我在多处理器机器上运行我的测试)。

我意识到它更有可能在“低级”代码中遇到自旋锁,但我很想知道您是否发现它在更高级别的编程中是否有用?

最佳答案

这取决于你在做什么。在一般应用程序代码中,您需要避免自旋锁。

在低级别的东西中,您只会持有几条指令的锁,并且延迟很重要,自旋锁垫是比锁更好的解决方案。但这种情况很少见,尤其是在通常使用 C# 的应用程序中。

关于c# - 自旋锁,它们有多大用处?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1456225/

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