标签:-- 获取 span style none 方式 new t 总结 get
1.Thread中的一些静态方法
给所有的线程分配一个数据槽,存放数据
GetData
SetData
////分配已经命名的槽位 //var solt=Thread.AllocateNamedDataSlot("username"); //// var solt = Thread.AllocateDataSlot(); ////在主线程中给槽位赋值,只能在主线程读取,子线程读取不到 //Thread.SetData(solt, "Hello Word!"); //var t = new Thread(()=> { // var obj = Thread.GetData(solt); // Console.WriteLine("当前工作的线程:{0}",obj); //}); //t.Start(); //var obj2= Thread.GetData(solt); //Console.WriteLine("主线程:{0}", obj2);
2.Thread中的一些静态方法的使用
变量=>Thread的关系t1,t2
t1,t2 共享变量 public 有锁
t1,t2各有一个变量 internel 无锁
3.性能提升版本 ThreadState
[ThreadStatic] static string username = string.Empty; static void Main(string[] args) { username = "Hello Word!"; var t = new Thread(() => { Console.WriteLine("当前工作的线程:{0}", username); }); t.Start(); Console.WriteLine("主线程:{0}", username); Console.Read();
4.ThreadLocal:也是用来做线程可见性
static void Main(string[] args) { ThreadLocal<string> local = new ThreadLocal<string>(); local.Value = "Hello World!"; //username = "Hello Word!"; var t = new Thread(() => { Console.WriteLine("当前工作的线程:{0}", local.Value); }); t.Start(); Console.WriteLine("主线程:{0}", local.Value); Console.Read(); }
从笔记的中,学习总结:
标签:-- 获取 span style none 方式 new t 总结 get
原文地址:https://www.cnblogs.com/2828sea/p/11016652.html