7

.NET 中有没有办法确定线程本地存储占用的内存量?

具体来说,我希望找到 ThreadStatic 对象使用的内存量以及分配给 Thread 数据槽中的对象的内存量(例如,通过调用 Thread.SetData)。

澄清:

线程本地存储:http: //msdn.microsoft.com/en-us/library/6sby1byh.aspx

线程本地存储:线程相关的静态字段和数据槽 http://msdn.microsoft.com/en-us/library/6sby1byh.aspx

4

1 回答 1

2

您可以按如下方式获取内存使用情况。您可以在此处使用其他几种内存测量方法。但是,我不太确定是否有办法通过线程获取内存使用情况。Process 具有Threads 属性,该属性由ProcessThread的集合组成,这正是您感兴趣的,但不是直接获取内存使用情况的方法。

// Get the current process.
Process currentProcess = System.Diagnostics.Process.GetCurrentProcess();

// Gets the amount of physical memory allocated for the associated process.
long totalNumberOfBytesUsed = currentProcess.WorkingSet64;
于 2011-06-16T05:54:40.500 回答