HttpContextAccessor不会出现线程同步问题?

时间:2018-08-05 11:27:37   收藏:0   阅读:178

 

 

 

我有一段比较常规的.net core mvc代码,就是StartUp函数中注册HttpContextAccessor到系统DI工厂中,如图:

技术分享图片

然后调用方是service层,这个service层是使用autofac注入的,而且是单例注入,如图

技术分享图片

service调用HttpContextAccesor如图所示:

技术分享图片

 

 技术分享图片

为了测试是否存在线程同步问题,我使用了Thread.Sleep()方法,如果HttpContextAccesor里面的内容被相互影响了,那么后面打印出来的内容应该是一样的,如图:

技术分享图片

但是事实上,打印出来的内容是不一样的,说明HttpContextAccesor不存在着线程同步问题,如图

技术分享图片这两个数字代表着两个用户的id信息。

结论:

即使service使用了单例模式,但是在多线程的情况下,HttpContextAccessor不会出现线程同步问题。

 

原文:https://www.cnblogs.com/lizhizhang/p/9420779.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!