1. 平時在spring框架中如何使用多線程
Spring aop 依賴注入的就是單例對象,我們在使用的時候如果有多個相同處理且不怎麼耗時的情況下一般會採用for循環直接執行,這樣的情況下即使有事務管理也不會影響業務執行下去;但是,大多數的應用比如:系統與系統之間的交互就比較耗時了,此時使用for循環執行業務就不可取了,於是我們想用線程來解決這個問題。
另外,附帶說明一下:如果是在Spring提供的@Test下測試:如果有多線程處理,需要調用Thread.sleep(3000);實現線程等待,這也是測試多線程模式下所必須的。如果不加線程休眠,不等待多線程執行完畢,很有可能測不出來多線程調用的處理。
2. 如何實現springMVC的多線程並發
實現springMVC的多線程並發:
1、ThreadLocal為解決多線程程序的並發問題提供了一種新的思路
2、對於多線程資源共享的問題,同步機制採用了「以時間換空間」的方式,而ThreadLocal採用了「以空間換時間」的方式。前者僅提供一份變數,讓不同的線程排隊訪問,而後者為每一個線程都提供了一份變數,因此可以同時訪問而互不影響。
3. java 多線程 寫入資料庫 數據池
你這個首先得分開。
第一部分:你有很多線程在往數據池裡面寫入數據。那麼,你的線程只管寫數據,不用理會其他的數據。
第二部分:你的另外的線程(這里可以用spring的job定時器啟動),這部分只管往資料庫寫入數據,至於寫入的條件,你可以判斷數據池的數據是否達到寫入的標准。這里的線程可以配置為啟動一次就一直運行,或者是隔多少秒繼續運行。這樣可以提高效率。
第三部分:數據池,這里的數據池一定要第一部分和第二部分的線程都能夠訪問,並且是唯一的。你可以寫一個公用的類來進行控制。
大致就是這樣的。