回覆列表
-
1 # 白色秋天只若秋水
-
2 # 影片好笑
執行緒組:執行緒組存在的意義,首要原因是安全。java預設建立的執行緒都是屬於系統執行緒組,而同一個執行緒組的執行緒是可以相互修改對方的資料的。但如果在不同的執行緒組中,那麼就不能“跨執行緒組”修改資料,可以從一定程度上保證資料安全。執行緒池:執行緒池存在的意義,首要作用是效率。執行緒的建立和結束都需要耗費一定的系統時間(特別是建立),不停建立和刪除執行緒會浪費大量的時間。所以,在創建出一條執行緒並使其在執行完任務後不結束,而是使其進入休眠狀態,在需要用時再喚醒,那麼 就可以節省一定的時間。如果這樣的執行緒比較多,那麼就可以使用執行緒池來進行管理。保證效率。執行緒組和執行緒池共有的特點:1,都是管理一定數量的執行緒2,都可以對執行緒進行控制---包括休眠,喚醒,結束,建立,中斷(暫停)--但並不一定包含全部這些操作。
普通執行緒Start之後就運行了。執行緒池的需要排程一下,可能算慢一點吧。當執行緒很多時,獨立執行緒比執行緒池也要好點,因為執行緒池有大小的,在搶奪處理器資源上不是最有利的。但是通常情況下,二者沒有太大差別。一個短期任務就用執行緒池,一個守護或長期工作執行緒就用獨立執行緒。執行緒池任務一般都是迅速完成並且“直線前進”的,也就是不需要等待事件,不需要等待時間,只是直線條的完成一個任務,然後就over。這樣的就適合放入執行緒池。個人感覺:如果系統資源不是非常緊缺,最好用執行緒,不要用執行緒池,反正感覺執行緒池有時會出點問題。
希望採納