最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android自帶的四種線程池使用總結(jié)

 更新時(shí)間:2017年07月25日 16:45:33   作者:天鬼  
本篇文章主要介紹了Android自帶的四種線程池使用總結(jié),詳細(xì)的介紹了4種線程池的用法,具有一定的參考價(jià)值,有興趣的小伙伴可以了解一下

在Android開發(fā)中,如果我們要執(zhí)行某個(gè)耗時(shí)任務(wù),一般都會(huì)考慮開啟一個(gè)線程去處理。

因?yàn)槲覀兌贾酪粋€(gè)線程run方法執(zhí)行完畢后,才算真正結(jié)束,但是,這只是結(jié)束,并沒(méi)有被回收,會(huì)一直閑置在那里,等待GC去回收,所以如果每執(zhí)行一個(gè)任務(wù),我們都new一個(gè)線程,那么在某些極端的場(chǎng)景下,是比較消耗內(nèi)存的。

之前的內(nèi)存優(yōu)化的文章中,我講過(guò)關(guān)于android中的池的概念,也就是復(fù)用的機(jī)制,那么對(duì)于線程也有個(gè)線程池。

這篇文章先簡(jiǎn)單介紹下Android中自帶的四種線程池:

1 、newCachedThreadPool

這種線程池比較靈活,也就是說(shuō)它的池里的線程數(shù)量并不是固定的,理論上可以無(wú)限大,任務(wù)不需要排隊(duì),如果有空閑的線程,則復(fù)用,無(wú)則新建線程。

ExecutorService cachedThreadPool = Executors.newCachedThreadPool();
    cachedThreadPool.execute(new Runnable() {

      @Override
      public void run() {
        // TODO Auto-generated method stub

      }
    });

2、newFixedThreadPool

這個(gè)算是一個(gè)中規(guī)中矩,也是Android sdk的源碼中用的比較多的,它的池子里的線程數(shù)有個(gè)最大值,可以自己設(shè)置,如果超過(guò)這個(gè)最大值,那么任務(wù)就會(huì)加入任務(wù)隊(duì)列去等待。

ExecutorService fixedThreadPool = Executors.newFixedThreadPool(5);
    fixedThreadPool.execute(new Runnable() {

      @Override
      public void run() {
        // TODO Auto-generated method stub

      }
    });

3、 newSingleThreadExecutor

如字面意思,這是一個(gè)單例化的線程池,他只有一個(gè)線程去執(zhí)行任務(wù)。最常見的一個(gè)例子就是我們的UI線程啦。它就是典型的單線程模型。

ExecutorService singleThreadExecutor = Executors.newSingleThreadExecutor();
    singleThreadExecutor.execute(new Runnable() {

      @Override
      public void run() {
        // TODO Auto-generated method stub

      }
    });

4、newScheduledThreadPool

這也是一個(gè)定長(zhǎng)的線程池,但是可以支持周期性的任務(wù)。

以下例子表示延遲一秒過(guò)后,每?jī)擅雸?zhí)行一次。

ScheduledExecutorService scheduledThreadPool = Executors.newScheduledThreadPool(5);
    scheduledThreadPool.scheduleAtFixedRate(new Runnable() {

      @Override
      public void run() {

      }
    },1, 2, TimeUnit.SECONDS);

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Android MaterialCardView的使用介紹與示例

    Android MaterialCardView的使用介紹與示例

    MaterialCardView是一個(gè)基于Android支持庫(kù)中的CardView的可自定義組件。 MaterialCardView提供了CardView的所有功能,但增加了一些自定義屬性,使用起來(lái)更加方便實(shí)用
    2021-11-11
  • Android自定義View實(shí)現(xiàn)簡(jiǎn)單水波紋效果

    Android自定義View實(shí)現(xiàn)簡(jiǎn)單水波紋效果

    這篇文章主要為大家詳細(xì)介紹了Android自定義View實(shí)現(xiàn)簡(jiǎn)單水波紋效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • 實(shí)例講解Android中的AutoCompleteTextView自動(dòng)補(bǔ)全組件

    實(shí)例講解Android中的AutoCompleteTextView自動(dòng)補(bǔ)全組件

    AutoCompleteTextView組件被用在輸入框中能實(shí)現(xiàn)輸入內(nèi)容自動(dòng)補(bǔ)全的功能,類似于大家平時(shí)用Google時(shí)的輸入聯(lián)想,這里我們來(lái)用實(shí)例講解Android中的AutoCompleteTextView自動(dòng)補(bǔ)全組件,特別是實(shí)現(xiàn)郵箱地址補(bǔ)全的例子,非常實(shí)用
    2016-05-05
  • Android開發(fā)四大組件之實(shí)現(xiàn)電話攔截和電話錄音

    Android開發(fā)四大組件之實(shí)現(xiàn)電話攔截和電話錄音

    這篇文章給大家介紹Android開發(fā)四大組件之實(shí)現(xiàn)電話攔截和電話錄音,涉及到android四大基本組件在程序中的應(yīng)用,對(duì)android四大基本組件感興趣的朋友可以參考下本篇文章
    2015-10-10
  • Android Flutter實(shí)現(xiàn)點(diǎn)贊效果的示例代碼

    Android Flutter實(shí)現(xiàn)點(diǎn)贊效果的示例代碼

    點(diǎn)贊這個(gè)動(dòng)作不得不說(shuō)在社交、短視頻等App中實(shí)在是太常見了。本文將利用Flutter制作出一個(gè)點(diǎn)贊動(dòng)畫效果,感興趣的小伙伴可以學(xué)習(xí)一下
    2022-04-04
  • Android控件ListView用法(讀取聯(lián)系人示例代碼)

    Android控件ListView用法(讀取聯(lián)系人示例代碼)

    本文以一個(gè)讀取聯(lián)系人的代碼為大家講解下Android控件中ListView的使用方法,這個(gè)listView有個(gè)setAdapter 適配器,里面可以直接實(shí)現(xiàn)接口,或者寫個(gè)類
    2013-06-06
  • Android自定義View繪制貝塞爾曲線的方法

    Android自定義View繪制貝塞爾曲線的方法

    這篇文章主要為大家詳細(xì)介紹了Android自定義View繪制貝塞爾曲線的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • Android?flutter?Dio鎖的巧妙實(shí)現(xiàn)方法示例

    Android?flutter?Dio鎖的巧妙實(shí)現(xiàn)方法示例

    這篇文章主要為大家介紹了Android?flutter?Dio鎖的巧妙實(shí)現(xiàn)方法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-01-01
  • 基于barcodescanner實(shí)現(xiàn)Android二維碼掃描功能

    基于barcodescanner實(shí)現(xiàn)Android二維碼掃描功能

    這篇文章主要為大家詳細(xì)介紹了基于barcodescanner實(shí)現(xiàn)Android二維碼掃描功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • 基于Android實(shí)現(xiàn)定時(shí)刷新功能

    基于Android實(shí)現(xiàn)定時(shí)刷新功能

    定時(shí)刷新是一種常見的應(yīng)用需求,例如自動(dòng)加載新數(shù)據(jù)、定時(shí)更新 UI、動(dòng)畫循環(huán)播放、實(shí)時(shí)監(jiān)控等場(chǎng)景中都需要定時(shí)刷新頁(yè)面,Android 平臺(tái)提供了多種實(shí)現(xiàn)定時(shí)刷新的方式,本文將結(jié)合實(shí)例詳細(xì)講解如何實(shí)現(xiàn)定時(shí)刷新功能,需要的朋友可以參考下
    2025-04-04

最新評(píng)論

梁山县| 区。| 莲花县| 贺州市| 咸宁市| 江华| 扬州市| 无极县| 江孜县| 宁夏| 察哈| 龙州县| 天门市| 北辰区| 大石桥市| 句容市| 巴林右旗| 乡宁县| 日照市| 秦安县| 星座| 横山县| 改则县| 化州市| 五大连池市| 阿鲁科尔沁旗| 滁州市| 多伦县| 乌恰县| 清新县| 纳雍县| 惠来县| 麻江县| 延津县| 麦盖提县| 浏阳市| 嘉峪关市| 遵义市| 长子县| 山东省| 唐海县|