前言
一般而言叛溢,我們在android程序代碼中不要顯式的創(chuàng)建線程,而是要采取線程池(也就是ThreadPoolExecutor類)的方式創(chuàng)建校套。-
關于線程池的幾個類
直接上圖
ThreadPoolExecutor的構造方法如下:
1擒抛,corePoolSize:核心線程數(shù)
線程池新建線程的時候,如果當前線程總數(shù)小于 corePoolSize 亭罪,則新建的是核心線程;如果超過corePoolSize歼秽,則新建的是非核心線程应役。
2,maximumPoolSize:線程總數(shù)= 核心線程數(shù) + 非核心線程數(shù)
3燥筷,keepAliveTime:超時時長
非核心線程如果長時間閑置箩祥,超過這個時長便被回收
4,unit
設置keepAliveTime的單位肆氓,MILLISECONDS : 毫秒 袍祖、SECONDS : 秒、MINUTES : 分谢揪、HOURS : 小時蕉陋、DAYS : 天
5,workQueue:緩沖任務隊列
線程池的execute方法會將Runnable對象存儲起來拨扶,當所有的核心線程都有活干凳鬓,新添加的任務會被添加到這個隊列中等待處理,如果隊列滿了患民,則新建非核心線程執(zhí)行任務缩举。
6,threadFactory:線程工廠接口
只有一個new Thread(Runnable r)方法匹颤,可以認為是線程池創(chuàng)建新線程 蚁孔。
7,handler:
這個主要是用來拋異常的,如果線程無法執(zhí)行新任務一般會拋一個RejectedExecutionException異常惋嚎。
另外,為了使用方便站刑,java提供了四種線程池:- newFixedThreadPool :定長線程池
- newCacheThreadPool:緩存線程池
- newScheduledThreadPool:定長任務線程池
- newSingleThreadExecutor :創(chuàng)建一個單線程的線程池
-
簡單實例
關于Android線程池
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
- 文/潘曉璐 我一進店門讯检,熙熙樓的掌柜王于貴愁眉苦臉地迎上來琐鲁,“玉大人,你說我怎么就攤上這事人灼∥Ф危” “怎么了?”我有些...
- 文/不壞的土叔 我叫張陵投放,是天一觀的道長奈泪。 經(jīng)常有香客問我,道長灸芳,這世上最難降的妖魔是什么涝桅? 我笑而不...
- 正文 為了忘掉前任,我火速辦了婚禮烙样,結果婚禮上冯遂,老公的妹妹穿的比我還像新娘。我一直安慰自己误阻,他們只是感情好债蜜,可當我...
- 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著究反,像睡著了一般寻定。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上精耐,一...
- 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼小槐!你這毒婦竟也來了拇派?” 一聲冷哼從身側響起,我...
- 正文 年R本政府宣布险污,位于F島的核電站痹愚,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏蛔糯。R本人自食惡果不足惜拯腮,卻給世界環(huán)境...
- 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望蚁飒。 院中可真熱鬧动壤,春花似錦、人聲如沸淮逻。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽爬早。三九已至哼丈,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間筛严,已是汗流浹背醉旦。 一陣腳步聲響...
推薦閱讀更多精彩內(nèi)容
- 第一部分 來看一下線程池的框架圖,如下: 1碳却、Executor任務提交接口與Executors工具類 Execut...
- 為什么使用線程池 當我們在使用線程時,如果每次需要一個線程時都去創(chuàng)建一個線程笑旺,這樣實現(xiàn)起來很簡單昼浦,但是會有一個問題...
- 本文是我自己在秋招復習時的讀書筆記鸟蟹,整理的知識點,也是為了防止忘記使兔,尊重勞動成果建钥,轉載注明出處哦!如果你也喜歡虐沥,那...
- 世界會向那些有目標和遠見的人讓路欲险!2018镐依,祝好! 1 想要體面生活天试,又覺得打拼辛苦槐壳;想要健康身體,又無法堅持運動...