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

 

 

 

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

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

service调用HttpContextAccesor如图所示:函数

 

 

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

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

这两个数字表明着两个用户的id信息。.net

结论:线程

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

相关文章
相关标签/搜索