我们正在观察 4-6 应用程序中 Windows 7 x64 上的线程具有 3 线程并在 Windows 7 之前的任何 Windows(32 位或 64 位)上正常运行。
Process Explorer 显示以下“未知”线程:
ntdll.dll!EtwDeliverDataBlock+offset
随机间隔后出现以下线程:
ntdll.dll!TpCallbackIndependent+offset
ntdll.dll!TpCallbackIndependent+offset
在该应用程序之后无法创建线程(错误代码 8,足够热的空间......)。
在我看来,某些系统 DLL 创建了 ETW 线程或其他东西。有谁知道这些线程的用途以及如何管理它们?
最佳答案
TP 线程是 Windows 线程池 API 的一部分,是因为您的应用程序(或应用程序使用的 DLL)使用了 Windows 线程池 API 而创建的。您的应用程序(或应用程序使用的 DLL 之一)似乎还使用了 ETW API,该 API 也使用了几个线程。你真的没有能力管理这些线程。
我严重怀疑这些线程是导致内存不足错误的原因。问题更有可能是您的进程中没有足够的连续内存来为新线程的堆栈保留空间。
关于windows-7 - Win7 WOW64中应用程序中的奇怪线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2484921/