在托管到非托管呼叫期间,DoNDirectCall__PatchGetThreadCall上的线程被阻止

时间:2012-06-28 16:23:26

标签: c# c++ multithreading

我有一个C#程序,它调用托管C ++包装器,后者又调用非托管C ++代码。当我执行此代码时,我可以看到线程正在等待方法DoNDirectCall__PatchGetThreadCall上的同步的时间段。堆栈跟踪看起来有点像

- Csharp.Code.MyClass in MyC#.dll
  -> Managed.C++.Interface in MyManagedC++.dll
  -> Managed.C++.Internal in MyManagedC++.dll
  -> DoNDirectCall__PatchGetThreadCall in clr.dll

因此,我调用的非托管代码在线程堆栈中根本没有显示出来。有谁知道DoNDirectCall__PatchGetThreadCall是否实际上代表了我的非托管函数所花费的时间,还是它实际上正在做其他导致线程等待同步的事情?

0 个答案:

没有答案