可能重复:
DLL线程安全性
您好
我在MS VS C++ Express中编写了一个DLL文件,同时在多个客户端应用程序中加载它,它与其他已加载的DLL实例使用共享内存。让我们假设该DLL看起来像这样:
#include stdafx.h
#pragma data_seg (".TEST")
//Shared variables
#pragma data_seg ()
#pragma comment(linker, "/section:.TEST,RWS")
_DLLAPI void __stdcall doCalc()
{
//Do critical stuff
}
如果同时有两个或更多客户端调用
doCalc
,系统将崩溃。
我该如何创建一个互斥锁来“阻塞”其他调用,如果该函数已经被调用了?
请给出一个示例,因为我已经花了过去两个小时在网上寻找一个像样的示例 ;)
提前致谢。