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不会出现线程同步问题?的主要内容,如果未能解决你的问题,请参考以下文章

为什么HttpContextAccessor要这么设计?

实例方法内的私有变量为什么不会出现线程安全问题

使用async await完成: 等到task线程内任务结束 交给主线程处理事情 task线程内不会出现卡死现象

Windows 服务中的计时器 .. 这个规模可以吗?会不会出现线程问题?这是不好的做法吗?

Mariadb的多线程连接问题

多个ajax同时请求,会不会出现阻塞