【发布时间】:2011-01-02 17:50:52
【问题描述】:
可能重复:
DLL thread safety
嗨
我正在用 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,系统将崩溃。
如果该函数已经被调用,我将如何创建一个“停止”其他调用的互斥锁?
请举个例子,因为我在过去的两个小时里试图在互联网上找到一个像样的;)
提前致谢。
【问题讨论】:
标签: c++ multithreading visual-c++ dll mutex