Fir*_*cer 4 c++ windows multithreading synchronization locking
Windows提供了许多用于同步线程的对象,例如事件(带SetEvent和WaitForSingleObject),互斥锁和关键部分.
我个人总是使用它们,特别是关键部分,因为我很确定它们会产生很小的开销,除非已经锁定.然而,看一些库,比如boost,人们在Windows上使用联锁方法实现自己的锁会遇到很多麻烦.
我可以理解为什么人们会编写无锁队列等等,因为这是一个专门的案例,但是有没有理由让人们选择实现自己版本的基本同步对象?
jal*_*alf 14
库没有实现自己的锁.没有OS支持,这几乎是不可能的.
他们正在做的只是包装操作系统提供的锁定机制.
Boost有以下几个原因:
windows.h,您可能希望避免出于多种原因,尤其是它极端的宏滥用会污染全局命名空间.| 归档时间: |
|
| 查看次数: |
472 次 |
| 最近记录: |