作者热门文章
- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
您发现自己在代码中实际使用自旋锁的频率如何?遇到使用繁忙循环实际上优于使用锁的情况有多常见?
就个人而言,当我编写某种需要线程安全的代码时,我倾向于使用不同的同步原语对其进行基准测试,而且就目前而言,使用锁似乎比使用自旋锁提供更好的性能。不管我实际持有锁的时间有多短,我在使用自旋锁时收到的争用量远远大于我从使用锁中获得的量(当然,我在多处理器机器上运行我的测试)。
我意识到它更有可能在“低级”代码中遇到自旋锁,但我很想知道您是否发现它在更高级别的编程中是否有用?
最佳答案
这取决于你在做什么。在一般应用程序代码中,您需要避免自旋锁。
在低级别的东西中,您只会持有几条指令的锁,并且延迟很重要,自旋锁垫是比锁更好的解决方案。但这种情况很少见,尤其是在通常使用 C# 的应用程序中。
关于c# - 自旋锁,它们有多大用处?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1456225/
我试图让我的 SCNNode 自动水平旋转。这是我到目前为止的代码: box.scale = SCNVector3(x: 0.26, y: 0.26, z: 0.26) box.position =
我试图让我的 SCNNode 自动水平旋转。这是我到目前为止的代码: box.scale = SCNVector3(x: 0.26, y: 0.26, z: 0.26) box.position =
我试图让 unicode 三 Angular 形 (▵) 在页面加载时和用户将鼠标悬停在跨度上时旋转 360 度。我已经设置了一个 jsFiddle解释我想要什么。 ULTR▵ 我对 CS
我是一名优秀的程序员,十分优秀!