我创建了一个静态 dll 文件以供某个应用程序使用。我想知道该 dll 的导出方法是由该应用程序的单独线程还是由单个线程调用的。我在想,如果我输出调用 dll 中方法的线程的 threadid,这可能有助于我确定该函数是由单个线程还是多个线程调用的。这会有帮助吗?另外,我将如何获取调用 dll 的线程的 threadid ?
问问题
124 次
1 回答
3
使用GetCurrentThreadId函数。
std::vector<DWORD> ids;
__declspec(dllexport) int __stdcall SomeFunction()
{
DWORD id = GetCurrentThreadID();
if (std::find(ids.begin(), ids.end(), id) != ids.end())
{
// New thread uses this function
ids.push_back(id);
}
}
于 2013-03-04T10:32:09.297 回答