開發過程中我們會遇到很多使用執行緒池的場景,例如非同步簡訊通知,非同步發郵件,非同步記錄操作紀錄檔,非同步處理批次Excel解析。這些非同步處理的場景我們都可以把它放線上程池中去完成,當然還有很多場景也都可以使用執行緒池,掌握執行緒池後開發中自己靈活應用。
例如在生成訂單的時候給使用者傳送簡訊,生成訂單的結果不應該被傳送簡訊的成功與否所左右,也就是說生成訂單這個主操作是不依賴於傳送簡訊這個操作,我們就可以把傳送簡訊這個操作置為非同步操作。當然也有的小夥伴會說我使用多執行緒不就行了,為啥還要使用執行緒池,那我就先聊一下執行緒和執行緒池的優缺點。
使用執行緒的缺點:
1:每次new Thread物件的時候,新建物件這樣效能很差。
2:執行緒缺乏管理,有可能無限建立執行緒,這樣可能造成系統資源的浪費或者OOM(記憶體溢位)。
使用執行緒池的優點:
1:重用存在的執行緒,減少執行緒的建立,效能良好。
2:可以有效的控制最大的執行緒並行數,提高系統資源的利用率。
說完上面就知道使用執行緒池有多好了吧,那知道了執行緒池的好處,我們怎樣使用執行緒池呢?好了重點物件出現了【PS 物件出現了汪汪汪