HttpContextAccessor不会出现线程同步问题?
Posted 李志章
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HttpContextAccessor不会出现线程同步问题?相关的知识,希望对你有一定的参考价值。
我有一段比较常规的.net core mvc代码,就是StartUp函数中注册HttpContextAccessor到系统DI工厂中,如图:
然后调用方是service层,这个service层是使用autofac注入的,而且是单例注入,如图
service调用HttpContextAccesor如图所示:
为了测试是否存在线程同步问题,我使用了Thread.Sleep()方法,如果HttpContextAccesor里面的内容被相互影响了,那么后面打印出来的内容应该是一样的,如图:
但是事实上,打印出来的内容是不一样的,说明HttpContextAccesor不存在着线程同步问题,如图
这两个数字代表着两个用户的id信息。
结论:
即使service使用了单例模式,但是在多线程的情况下,HttpContextAccessor不会出现线程同步问题。
以上是关于HttpContextAccessor不会出现线程同步问题?的主要内容,如果未能解决你的问题,请参考以下文章
使用async await完成: 等到task线程内任务结束 交给主线程处理事情 task线程内不会出现卡死现象