作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
可以SRW Locks放置在共享内存中时在进程之间使用?
它们的内存占用似乎只是一个指针,但我无法找到有关锁定时后台实际发生的情况的文档。
如果可能的话,我想避免内核互斥,但看起来我正在进入未定义的行为领域。
最佳答案
SRW 锁不能在进程之间共享。文档的开头句子中的明显遗漏暗示了这一点
Slim reader/writer (SRW) locks enable the threads of a single process to access shared resources...
这些对象利用了它们在单个进程中使用的事实。例如,等待进入锁的线程以链表的形式进行跟踪。这个等待线程列表显然必须保存在 SRWLock 之外的某处,因为 SRWLock 只是单个指针的大小,并且您不能将 10 个线程的列表放在单个指针中.其他进程无法访问该链表。
关于c++ - 共享内存中的 SRW 锁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37409509/
如果应用程序针对 Windows Vista 或更高版本,我们是否可以替换所有 critical sections与 SRW locks ?既然临界区是互斥的,那么使用上就相当于独占模式下的SRW锁吧
可以SRW Locks放置在共享内存中时在进程之间使用? 它们的内存占用似乎只是一个指针,但我无法找到有关锁定时后台实际发生的情况的文档。 如果可能的话,我想避免内核互斥,但看起来我正在进入未定义的行
我是一名优秀的程序员,十分优秀!