Session的方法有多執行緒問題,怎麼解決

時間 2021-05-30 16:50:42

1樓:threedr3am

我不明白為什麼這麼多人糾結在多執行緒的問題上。

考慮業務,你的token是一次性的,那麼明顯就是只能使用一次,那麼重複提交明顯就是有問題的操作,而token阻止了這個問題,實際上這是個好事情。

而你現在需要避免第二次提交,因為session已經不存在了,導致返回失敗資訊,這時候應該考慮場景,哪種場景會出現這種問題,出現的頻率大嗎?還是說個例?如果頻率不大是個例,那麼有沒有必要去做?

好了,如果要做,可以考慮請求冪等,建立快取儲存執行結果,下次同樣的token,直接走快取取處理結果而不執行實際操作,個人覺得,這比什麼鎖好多了,大多數所謂需要用到鎖同步的場景,其實完全可以避免的。

2樓:Java耕耘者

servlet就不是執行緒安全的。

Session物件在使用者會話期存在,只能處理屬於同乙個Session的請求的執行緒,因此Session物件的屬性訪問理論上是執行緒安全的。

但當使用者開啟多個同屬於乙個程序的瀏覽器視窗,在這些視窗的訪問屬於同乙個Session,會出現多次請求,需要多個工作執行緒來處理請求,可能造成同時多執行緒讀寫屬性,這時我們就要對屬性的讀寫進行同步處理。

關於多執行緒程式設計和CPU多核多執行緒的關係?

佐佐浪 具體到你的例子,修改優先順序和修改時間片是無法達到這個效果的。你需要做的是把你的計算部分做成並行的。單獨乙個執行緒是達不到你要的效果的。 棒子先生 首相我們了解下為什麼需要用到4核,這是由於不能盲目的提高CPU的主頻和頻寬,這樣會產生各種實際很難處理的問題,比如溫度飆公升等。舉例來說我們需要...

多執行緒有什麼用?

bjjiNight 這麼理解,比如一群人到樓頂要坐電梯,從樓下坐到樓上就是乙個程序,裡面的人就是執行緒 資源排程和執行 電梯上樓下樓的速度是不變的,但是要把所有的人帶到樓上,單核單執行緒就是一次只帶乙個人,單核多執行緒則是一次帶兩個或者多個人,電梯速度是不變的,但把所有人帶上樓頂的時間卻不一樣,電梯...

關於muduo多執行緒日誌的疑惑?

陳碩 首先,muduo 日誌是 diagnostic logging,不是資料庫的 write ahead logging。如果你要求 不丟失資料 那就不要用 muduo 日誌。其實你在 core dump 裡可以找到 buffer 中的日誌訊息,FixedBuffer cookieStart 就是...