如果我的应用程序面向Windows和已经使用并发运行时在它的一些部分。是否有使用ConcRT任务之外超过标准库的实现(std::mutex
)ConcRT同步结构(concurrency:critical_section
)的任何优点/缺点? (例如同步WinAPI的异步回调或DLL的导出函数之间管理数据的访问)ConcRT同步结构VS标准库
<mutex>
状态
MSDN文档因而给出仅在便携性方面有优势?
或者相反,critical_section是专门为使用ConcRT调度程序而设计的,并且在与OS线程一起使用时是一个巨大的矫枉过正?
P.S.这个问题涉及在并发运行时的所有同步结构(CRITICAL_SECTION,reader_writer_lock &事件)。
我也离开了WinAPI的的CRITICAL_SECTION
,MUTEX
,SRW
等,假设他们是最快,最轻的解决方案(但不是最漂亮的)。
“*慢,因此在所有情况下*”是什么让那个必要吗?仅仅因为它是一个抽象并不意味着它更慢。 –
我以为这是可能的原因可能会比较慢。另外,如您所述,我还没有找到任何证据。 –