亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

簡單了解Java多線程實(shí)現(xiàn)的四種方式

 更新時(shí)間:2020年05月01日 13:47:44   作者:DescribeMe  
這篇文章主要介紹了簡單了解Java多線程實(shí)現(xiàn)的四種方式,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

第一種方式為繼承Thread類然后重寫run方法再調(diào)用start方法,因?yàn)閖ava為單繼承多實(shí)現(xiàn),所以不建議使用這種方式,代碼如下:

public class Demo extends Thread{

  public static void main(String[] args) {
    new Demo().start();
  }

  @Override
  public void run() {
    System.out.println("繼承Thread類實(shí)現(xiàn)多線程");
  }
}

第二種為實(shí)現(xiàn)Runnable接口方式,該方式用的較多,代碼如下:

public class Demo2 implements Runnable{

  public static void main(String[] args) {
    new Thread(new Demo2()).start();
  }

  @Override
  public void run() {
    System.out.println("實(shí)現(xiàn)Runnable接口的多線程");
  }
}

第三種為實(shí)現(xiàn)Callable接口方式,該方式run方法具有返回值,代碼如下:

public class Demo3 implements Callable {

  public static void main(String[] args) throws ExecutionException, InterruptedException {
    FutureTask task=new FutureTask(new Demo3());
    new Thread(task).start();
    System.out.println(task.get());
  }

  @Override
  public String call() throws Exception {
    return "實(shí)現(xiàn)Callable接口的多線程";
  }
}

第四種是采用線程池的方式,代碼如下:

public class Demo4 {

  public static void main(String[] args) {
    ExecutorService executorService= Executors.newCachedThreadPool();
    executorService.execute(new Runnable() {
      @Override
      public void run() {
        System.out.println("線程池實(shí)現(xiàn)多線程");
      }
    });
    
    executorService.shutdown();
  }
}

從上面我們可以看出線程的調(diào)用都是采用start()方法,那么調(diào)用直接調(diào)用run()方法其實(shí)也是可以輸出結(jié)果的,但是有著本質(zhì)的區(qū)別,因?yàn)檎{(diào)用start()方法會(huì)使得當(dāng)前線程的數(shù)量增加,而單純得調(diào)用run()方法是不會(huì)的,在start()方法的內(nèi)部其實(shí)包含了調(diào)用run()方法。

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

相關(guān)文章

  • 如何使用Spring Validation優(yōu)雅地校驗(yàn)參數(shù)

    如何使用Spring Validation優(yōu)雅地校驗(yàn)參數(shù)

    這篇文章主要介紹了如何使用Spring Validation優(yōu)雅地校驗(yàn)參數(shù),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-07-07
  • springcloud?feign集成hystrix方式

    springcloud?feign集成hystrix方式

    這篇文章主要介紹了springcloud?feign集成hystrix方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • JAVA中的SPI思想介紹

    JAVA中的SPI思想介紹

    大家好,本篇文章主要講的是JAVA中的SPI思想介紹,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下
    2022-01-01
  • Spring如何自定義加載配置文件(分層次加載)

    Spring如何自定義加載配置文件(分層次加載)

    這篇文章主要介紹了Spring如何自定義加載配置文件(分層次加載)問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • java random.nextInt的坑及解決

    java random.nextInt的坑及解決

    這篇文章主要介紹了java random.nextInt的坑及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • Java實(shí)現(xiàn)將PPT轉(zhuǎn)為OFD過程詳解

    Java實(shí)現(xiàn)將PPT轉(zhuǎn)為OFD過程詳解

    本文將通過Java后端程序代碼展示如何實(shí)現(xiàn)將PPT幻燈片轉(zhuǎn)成OFD格式,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)或工作有一定的幫助,需要的可以參考一下
    2022-01-01
  • Java基于servlet監(jiān)聽器實(shí)現(xiàn)在線人數(shù)監(jiān)控功能的方法

    Java基于servlet監(jiān)聽器實(shí)現(xiàn)在線人數(shù)監(jiān)控功能的方法

    這篇文章主要介紹了Java基于servlet監(jiān)聽器實(shí)現(xiàn)在線人數(shù)監(jiān)控功能的方法,結(jié)合實(shí)例形式分析了ServletContextListener監(jiān)聽功能的相關(guān)使用步驟與操作技巧,需要的朋友可以參考下
    2018-01-01
  • Spring Cloud  Hystrix實(shí)現(xiàn)服務(wù)容錯(cuò)的方法

    Spring Cloud  Hystrix實(shí)現(xiàn)服務(wù)容錯(cuò)的方法

    Hystrix是SpringCloud中重要的熔斷保護(hù)組件,由Netflix開源,主要提供延遲和容錯(cuò)管理,以保障分布式系統(tǒng)的高可用性和魯棒性,通過封裝依賴項(xiàng)實(shí)現(xiàn)服務(wù)間隔離,引入回退邏輯應(yīng)對(duì)依賴服務(wù)故障,有效防止系統(tǒng)崩潰和服務(wù)級(jí)聯(lián)故障
    2024-10-10
  • Spring Cloud中關(guān)于Feign的常見問題總結(jié)

    Spring Cloud中關(guān)于Feign的常見問題總結(jié)

    這篇文章主要給大家介紹了Spring Cloud中關(guān)于Feign的常見問題,文中通過示例代碼介紹的很詳細(xì),需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-02-02
  • spring boot 配置動(dòng)態(tài)刷新詳解

    spring boot 配置動(dòng)態(tài)刷新詳解

    這篇文章主要介紹了spring boot 配置動(dòng)態(tài)刷新實(shí)現(xiàn)詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2021-09-09

最新評(píng)論