欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

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

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

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

1 、newCachedThreadPool

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

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

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

      }
    });

2、newFixedThreadPool

這個(gè)算是一個(gè)中規(guī)中矩,也是Android sdk的源碼中用的比較多的,它的池子里的線(xiàn)程數(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è)單例化的線(xiàn)程池,他只有一個(gè)線(xiàn)程去執(zhí)行任務(wù)。最常見(jiàn)的一個(gè)例子就是我們的UI線(xiàn)程啦。它就是典型的單線(xiàn)程模型。

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

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

      }
    });

4、newScheduledThreadPool

這也是一個(gè)定長(zhǎng)的線(xiàn)程池,但是可以支持周期性的任務(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中封裝RecyclerView實(shí)現(xiàn)添加頭部和底部示例代碼

    Android中封裝RecyclerView實(shí)現(xiàn)添加頭部和底部示例代碼

    這篇文章主要給大家介紹了關(guān)于Android中封裝RecyclerView實(shí)現(xiàn)添加頭部和底部的相關(guān)資料,網(wǎng)上這方面的資料很多,但都不是自己需要的,索性自己寫(xiě)一個(gè)分享出來(lái)供大家參考學(xué)習(xí),需要的朋友們下面隨著小編一起來(lái)學(xué)習(xí)學(xué)習(xí)吧。
    2017-08-08
  • Android仿ViVO X6 極速閃充動(dòng)畫(huà)效果

    Android仿ViVO X6 極速閃充動(dòng)畫(huà)效果

    這篇文章主要介紹了Android仿ViVO X6 極速閃充動(dòng)畫(huà)效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-07-07
  • Android開(kāi)發(fā)案例手冊(cè)Application跳出dialog

    Android開(kāi)發(fā)案例手冊(cè)Application跳出dialog

    這篇文章主要為大家介紹了Android開(kāi)發(fā)案例手冊(cè)Application跳出dialog,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • Android實(shí)現(xiàn)空心圓角矩形按鈕的實(shí)例代碼

    Android實(shí)現(xiàn)空心圓角矩形按鈕的實(shí)例代碼

    頁(yè)面上有時(shí)會(huì)用到背景為空心圓角矩形的Button,可以通過(guò)xml繪制出來(lái)。這篇文章主要介紹了Android實(shí)現(xiàn)空心圓角矩形按鈕的實(shí)例代碼,需要的朋友參考下吧
    2017-01-01
  • Android利用CountDownTimer實(shí)現(xiàn)驗(yàn)證碼倒計(jì)時(shí)效果實(shí)例

    Android利用CountDownTimer實(shí)現(xiàn)驗(yàn)證碼倒計(jì)時(shí)效果實(shí)例

    這篇文章主要給大家介紹了關(guān)于Android如何利用CountDownTimer實(shí)現(xiàn)驗(yàn)證碼倒計(jì)時(shí)效果的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-10-10
  • Android圖片緩存之初識(shí)Glide(三)

    Android圖片緩存之初識(shí)Glide(三)

    這篇文章主要為大家詳細(xì)介紹了Android圖片緩存之Glide,學(xué)習(xí)比較優(yōu)秀的圖片緩存開(kāi)源框架,感興趣的小伙伴們可以參考一下
    2016-08-08
  • Android學(xué)習(xí)筆記-保存文件(Saving Files)

    Android學(xué)習(xí)筆記-保存文件(Saving Files)

    這篇文章主要介紹了Android中保存文件(Saving Files)的方法,需要的朋友可以參考下
    2014-10-10
  • 詳解Android中常見(jiàn)的內(nèi)存優(yōu)化及內(nèi)存泄露場(chǎng)景

    詳解Android中常見(jiàn)的內(nèi)存優(yōu)化及內(nèi)存泄露場(chǎng)景

    本文主要給大家介紹了Android中常見(jiàn)的內(nèi)存優(yōu)化及Android開(kāi)發(fā)中容易造成內(nèi)存泄露的場(chǎng)景,對(duì)我們的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2023-08-08
  • Android中用Builder模式自定義Dialog的方法

    Android中用Builder模式自定義Dialog的方法

    在任何軟件操作系統(tǒng)中,Dialog即對(duì)話(huà)框都是一種重要的交互模式與信息載體,而Android系統(tǒng)本身的Dialog擁有固定的樣式,并且在5.0后采用Material Design設(shè)計(jì)風(fēng)格的Dialog美觀大氣。這篇文章將詳細(xì)介紹Android中用Builder模式自定義Dialog的方法,有需要的可以參考借鑒。
    2016-10-10
  • Android 仿淘寶、京東商品詳情頁(yè)向上拖動(dòng)查看圖文詳情控件DEMO詳解

    Android 仿淘寶、京東商品詳情頁(yè)向上拖動(dòng)查看圖文詳情控件DEMO詳解

    本文給大家介紹android 仿淘寶、京東商品詳情頁(yè)向上拖動(dòng)查看圖文詳情控件DEMO詳解,使用兩個(gè)scrollView,兩個(gè)scrollView 豎直排列,通過(guò)自定義viewGroup來(lái)控制兩個(gè)scrollView的豎直排列,以及滑動(dòng)事件的處理。對(duì)android 拖動(dòng)查看圖文詳情知識(shí)感興趣的朋友一起學(xué)習(xí)吧
    2016-09-09

最新評(píng)論