使用java語言如何更好的使用多執行緒?

2021-09-08 13:52:38 字數 407 閱讀 3994

① 高併發、任務執行時間短的業務,執行緒池執行緒數可以設定為cpu核數+1,減少執行緒上下文的切換。

② 併發不高、任務執行時間長的業務要區分開看:

假如是業務時間長集中在i/o操作上,也就是i/o密集型的任務,因為i/o操作並不占用cpu,所以不要讓所有的cpu閒下來,可以加大執行緒池中的執行緒數目,讓cpu處理更多的業務。

假如是業務時間長集中在計算操作上,也就是計算密集型任務,這個就沒辦法了,和①一樣吧,執行緒池中的執行緒數設定得少一些,減少執行緒上下文的切換。

③ 併發高、業務執行時間長,解決這種型別任務的關鍵不在於執行緒池而在於整體架構的設計,看看這些業務裡面某些資料是否能做快取是第一步,增加伺服器是第二步,至於執行緒池的設定,設定參考②。

最後,業務執行時間長的問題,也可能需要分析一下,看看能不能使用中介軟體對任務進行拆分和解耦。

DDD 如何更好的使用值物件

大師們讓我們多使用 值語義 的物件 並非一定是是值物件 我們工作中也沒有少使用 int bool date等等 只是大多數人都沒有多的自定義 值語義 的型別 我也其中之一 本文不說其它的,就談談 值語義 的優點和缺點,以及 如何更好的使用值物件,說白了 讓優點大於缺點。就目前來看,缺點 視乎佔據了 ...

更好的使用IntelliJ IDEA

一 快捷鍵的使用 1.文字編輯 刪除 ctr y 複製 ctr d 2.智慧型提示 提示 ctr space 智慧型提示 ctr shift space 完成當前語句 ctr shift enter 建議提示為引數 ctr alt p 對 重新排列格式 ctrl alt l 組織匯入,對import...

如何更好的使用 搜尋 ?搜尋技巧歸納

辦法都是網上搜的,語句都是自己歸納,搜尋都是本人親測 搜尋是日常生活中必備的工具,但是其實準確的搜尋可以幫助我們減少時間並且找到想要的東西 這是在準確搜尋的基礎上,我們可以修飾搜尋的內容,比如,我不要找關於pc的內容,返回結果也會隨你的操作改變搜尋到的內容 主要是它要求的資訊更精確,所以這個比起準確...