Asp.Net Core AsyncLocal 异步上下文

 

引子

    阅读以下代码,并尝试分析

代码解析

  1. 在主线程中,线程Id为1,为线程变量赋值 变量==d6ff
  2. 开启一个新的task,此时线程Id为4,变量==d6ff,并调用Task1
  3. 开启一个同步Task3,线程Id为1。变量==d6ff,修改值==f598
  4. 此时第二步启动的Task1运行,线程Id为4,变量==d6ff,修改值==c2f6
  5. Hello Word处。
  6. Task1里面的方法 Task1->Task2,变量==c2f6,证明这个变量是Task1修改过后的,修改值==7114
  7. 此时运行到第6步的Task2,变量==7114,是第6步的赋值,修改值==1e2d
  8. 最后运行Task2,变量==d6ff

一图胜万语

视频解析

占位~~~~

结论

异步上下文的赋值跟随 上下文逻辑结构发生变化。

 

用途1:

 

posted @ 2019-02-02 10:21  Herenwei_Wayne  阅读(929)  评论(0编辑  收藏  举报