我正在修复一个与并发访问一个库中的集合相关的bug。目前,库使用互斥(锁)来控制来自多个线程的访问。代码中的锁定区域包含应该执行得非常快的代码(修改列表/字典或从列表/字典中读取),因此自旋锁似乎符合这种情况。
但是..。在大多数情况下,锁是不必要的,因为大多数使用这个库的应用程序都是单线程的,对我来说,不要让它们变慢是很重要的。我的原始基准测试表明,自旋锁检查资源未使用的速度较慢,但我并不完全信任它。
发布于 2016-07-28 16:34:10
如果你宣传这个函数是线程安全的,那么你应该在集合更新时提供锁定。
如果没有,请确保将事实记录下来,并将其留给消费者。
https://stackoverflow.com/questions/38630991
复制相似问题