Asp.Net Core AsyncLocal 异步上下文
引子
阅读以下代码,并尝试分析
代码解析
- 在主线程中,线程Id为1,为线程变量赋值 变量==d6ff
- 开启一个新的task,此时线程Id为4,变量==d6ff,并调用Task1
- 开启一个同步Task3,线程Id为1。变量==d6ff,修改值==f598
- 此时第二步启动的Task1运行,线程Id为4,变量==d6ff,修改值==c2f6
- Hello Word处。
- Task1里面的方法 Task1->Task2,变量==c2f6,证明这个变量是Task1修改过后的,修改值==7114
- 此时运行到第6步的Task2,变量==7114,是第6步的赋值,修改值==1e2d
- 最后运行Task2,变量==d6ff
一图胜万语
视频解析
占位~~~~
结论
异步上下文的赋值跟随 上下文逻辑结构发生变化。
用途1: