文章预览
hello,大家好,又到了橙子老哥的分享时间,希望大家一起学习,一起进步。 欢迎加入.net意社区,第一时间了解我们的动态,地址:ccnetcore.com 废话少说,我们直接开始 1、ThreadLocal与AsyncLocal 众所皆知,AsyncLocal是用于异步方法之间的数据隔离,而 ThreadLocal是用于多线程之间的数据隔离,需要明白,多线程 != 异步,多线程只是异步的一种实现,两者完全不是同一水平的东西,不能进行比较 关于他们的区别,相信大家看过很多的文章了,我总结放两个例子,不多赘述,带过即可 ```csharp AsyncLocal context = new AsyncLocal (); await Task.Run( async () => { context.Value = new Student { Name = $"张三" }; Console.WriteLine( $"值: {context.Value?.Name} ,ThreadId= {Thread.CurrentThread.ManagedThreadId} " ); await Task.Delay( 1000 ); Console.WriteLine( $"值: {context.Value?.Name} ,ThreadId= {Thread.CurrentThr
………………………………