@Component單例與並發(未解決)


今天用websocket記錄連接的個數;

模擬少量請求到服務器端的websocket,@Component默認是單例的,讓其注解到MyWebSocket類上;

每次請求過來都是相同的MyWebSocket對象,但是是不同的內存,修改其中之一對象的某些屬性不會改變其他的對象的屬性,可以使用static讓多個連接請求共享變量的最終值,想要獲得實時的值,讓寫操作與讀同步就行。

錯誤的想法:想象成了同一塊內存了,多個請求被同一塊內存處理。

應該是初始是被相同的對象處理,但是這些對象僅僅是引用相同,所占內存不同

 

如圖3個客戶端連接上websocket服務器,打印每一個MyWebSocket對象的hashcode:

結果發現是不同的。

 

感覺上面的還是不對,這里應該是@ServerEndpoint(value = "/websocket"),難道是這個問題?

或者說是每個連接都是不同的MyWebSocket,但是又使用了@Component注解啊,應該是單例呀,怎么互相矛盾呢?


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM