HttpContextAccessor不會出現線程同步問題?

 

 

 

我有一段比較常規的.net core mvc代碼,就是StartUp函數中註冊HttpContextAccessor到系統DI工廠中,如圖:多線程

而後調用方是service層,這個service層是使用autofac注入的,並且是單例注入,如圖mvc

service調用HttpContextAccesor如圖所示:函數

 

 

爲了測試是否存在線程同步問題,我使用了Thread.Sleep()方法,若是HttpContextAccesor裏面的內容被相互影響了,那麼後面打印出來的內容應該是同樣的,如圖:測試

可是事實上,打印出來的內容是不同的,說明HttpContextAccesor不存在着線程同步問題,如圖spa

這兩個數字表明着兩個用戶的id信息。.net

結論:線程

即便service使用了單例模式,可是在多線程的狀況下,HttpContextAccessor不會出現線程同步問題。3d

相關文章
相關標籤/搜索