作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
考虑用C#编写的类库,该类库在其某些类上使用线程特定的字段。当线程终止时,类库需要清除数据。
namespace MySdk
{
public class MyClass
{
[ThreadStatic]
private static SomeData _data;
public static SomeData Data
{
get
{
if(_data == null)
{
_data = new SomeData();
}
return _data;
}
}
public static void FreeSomeData()
{
// Release _data
}
// some other useful data which uses _data
}
}
fdwReason
中的
DLL_THREAD_DETACH
。
最佳答案
SomeData
应该有一个终结器,可以清理资源。
如果需要确定性清除,那么没有简单的解决方案。可能会滥用概要分析API来提供您所需的内容,但是让SomeData
实现IDisposable
并将责任推给客户端会容易得多。
关于.net - 在AppDomain中终止任何托管线程时,可以调用任意代码吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6039220/
我是一名优秀的程序员,十分优秀!