1. ThreadStaticAttribute
只能用在静态变量中
[ThreadStatic]
private static string Data = string.Empty;
Data = "kun";
2. LocalDataStoreSlot 变量
一个slot中只有一个object
1) NamedDataSlot
需要手动释放
LocalDataStoreSlot slot = Thread.AllocateNamedDataSlot("name");
//set data
Thread.SetData(this.slot,"kun");
//get slot
var localSlot = Thread.GetNamedDataSlot("name");
//get data
var data = Thread.GetData(slot);
Thread.FreeNamedDataSlot("");
# 2) DataSlot
不需要释放 ··· LocalDataStoreSlot slot = Thread.AllocateDataSlot(); Thread.SetData(this.slot, "kun1"); var res = Thread.GetData(this.slot); ···
3. ThreadLocal 变量
用法最简单,.net 4.0以后可以用 ··· ThreadLocal data = new ThreadLocal(() => { return 1; }); this.data.Value = 5;
data.Dispose(); ···