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

簡(jiǎn)單了解Java創(chuàng)建線程兩種方法

 更新時(shí)間:2020年02月12日 08:51:51   作者:戈德里克山谷  
這篇文章主要介紹了簡(jiǎn)單了解Java創(chuàng)建線程兩種方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

這篇文章主要介紹了簡(jiǎn)單了解Java創(chuàng)建線程兩種方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

Java實(shí)現(xiàn)并啟動(dòng)線程有兩種方法

1、寫(xiě)一個(gè)類繼承自Thread類,重寫(xiě)run方法。用start方法啟動(dòng)線程
2、寫(xiě)一個(gè)類實(shí)現(xiàn)Runnable接口,實(shí)現(xiàn)run方法。用new Thread(Runnable target).start()方法來(lái)啟動(dòng)

注意:start方法不是立即執(zhí)行多線程,而是使得該線程變?yōu)榫途w態(tài)(Runnable)

1.通過(guò)擴(kuò)展Thread類來(lái)創(chuàng)建線程

(1)定義Thread類的子類,并重寫(xiě)該類的run方法,該run方法的方法體就代表了線程要完成的任務(wù)。因此把run()方法稱為執(zhí)行體。

(2)創(chuàng)建Thread子類的實(shí)例,即創(chuàng)建了線程對(duì)象。

(3)調(diào)用線程對(duì)象的start()方法來(lái)啟動(dòng)該線程。

public class MutliThreadDemo {
  public static void main(String[] args) {
    
    //創(chuàng)建Thread子類的實(shí)例,即創(chuàng)建了線程對(duì)象
    MutliTread mt1 = new MutliTread("Thread");
      
    //不立即執(zhí)行多線程代碼,而是使得該線程變?yōu)榫途w態(tài)(Runnable)
    mt1.start();
  }  
}

//通過(guò)擴(kuò)展Thread類來(lái)創(chuàng)建線程
class MutliTread extends Thread{
  
  public MutliTread(String name) {
    this.setName(name);
    //或super(name)
  }
  public void run() {
    for(int i = 0; i < 10; i++) {
      System.out.println(Thread.currentThread().getName() + ":" + i);
    }  
  }
}

2.通過(guò)Runnable接口創(chuàng)建線程

(1)定義runnable接口的實(shí)現(xiàn)類,并實(shí)現(xiàn)該接口的run()方法,該run()方法的方法體同樣是該線程的線程執(zhí)行體。

(2)創(chuàng)建 Runnable實(shí)現(xiàn)類的實(shí)例,并依此實(shí)例作為T(mén)hread的target來(lái)創(chuàng)建Thread對(duì)象,該Thread對(duì)象才是真正的線程對(duì)象。

(3)調(diào)用線程對(duì)象的start()方法來(lái)啟動(dòng)該線程。

public class MutliThreadDemo3 {
  
  public static void main(String[] args) {
     
    //創(chuàng)建一個(gè)Runnable接口實(shí)現(xiàn)類
    MutliTread3 m = new MutliTread3();
    
    //實(shí)例化線程對(duì)象
    Thread t1 = new Thread(m, "甲");
    Thread t2 = new Thread(m, "乙");
    Thread t3 = new Thread(m, "丙");
    t1.start();
    t2.start();
    t3.start();
  }  
}

class MutliTread3 implements Runnable{
  
  public void run() {
    for(int i = 0; i < 10; i++) {
      System.out.println(Thread.currentThread().getName() + ":" + i);
    }  
  }
}

當(dāng)然第二種方法也可通過(guò)匿名內(nèi)部類或lambda表達(dá)式實(shí)現(xiàn),會(huì)更簡(jiǎn)潔。以下通過(guò)Lambda表達(dá)式實(shí)現(xiàn)run方法:

public class MutliThreadDemo3 {
  
  public static void main(String[] args) {
    
    Runnable r = () -> {  
      for(int i = 0; i < 10; i++) {
        System.out.println(Thread.currentThread().getName() + ":" + i);
      }  
    };
    
    //實(shí)例化線程對(duì)象
    Thread t1 = new Thread(r, "甲");
    Thread t2 = new Thread(r, "乙");
    Thread t3 = new Thread(r, "丙");
    t1.start();
    t2.start();
    t3.start();
  }  
}

注:以上三種方式(本質(zhì)上是兩種)創(chuàng)建的三個(gè)線程其實(shí)是互相獨(dú)立的

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

相關(guān)文章

  • 妙用Java8中的Function接口消滅if...else

    妙用Java8中的Function接口消滅if...else

    在開(kāi)發(fā)過(guò)程中經(jīng)常會(huì)使用if...else...進(jìn)行判斷拋出異常、分支處理等操作。這些if...else...充斥在代碼中嚴(yán)重影響了代碼代碼的美觀,本文就妙用Java8中的Function接口消滅if...else,感興趣的可以了解一下
    2022-01-01
  • Java文檔注釋用法+JavaDoc的使用說(shuō)明

    Java文檔注釋用法+JavaDoc的使用說(shuō)明

    這篇文章主要介紹了Java文檔注釋用法+JavaDoc的使用說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • Struts攔截器實(shí)現(xiàn)攔截未登陸用戶實(shí)例解析

    Struts攔截器實(shí)現(xiàn)攔截未登陸用戶實(shí)例解析

    這篇文章主要介紹了Struts攔截器實(shí)現(xiàn)攔截未登陸用戶實(shí)例解析,分享了相關(guān)代碼示例,小編覺(jué)得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-02-02
  • SpringCloud開(kāi)發(fā)課程查詢功能

    SpringCloud開(kāi)發(fā)課程查詢功能

    這篇文章主要介紹了SpringCloud開(kāi)發(fā)課程查詢功能,本文通過(guò)圖文實(shí)例相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12
  • Java項(xiàng)目自動(dòng)生成接口文檔教程

    Java項(xiàng)目自動(dòng)生成接口文檔教程

    本文主要介紹了Java項(xiàng)目自動(dòng)生成接口文檔教程,包含使用Apifox插件從IDEA生成的文檔,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-03-03
  • SpringBoot整合Mybatis簡(jiǎn)單實(shí)現(xiàn)增刪改查

    SpringBoot整合Mybatis簡(jiǎn)單實(shí)現(xiàn)增刪改查

    這篇文章主要介紹了SpringBoot整合Mybatis簡(jiǎn)單實(shí)現(xiàn)增刪改查,文章為圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-08-08
  • JAVA對(duì)象分析之偏向鎖、輕量級(jí)鎖、重量級(jí)鎖升級(jí)過(guò)程

    JAVA對(duì)象分析之偏向鎖、輕量級(jí)鎖、重量級(jí)鎖升級(jí)過(guò)程

    這篇文章主要介紹了JAVA對(duì)象分析之偏向鎖、輕量級(jí)鎖、重量級(jí)鎖升級(jí)過(guò)程,又對(duì)這方面感興趣的同學(xué)可以跟著一起研究下
    2021-02-02
  • SpringMVC?bean加載控制的實(shí)現(xiàn)分析

    SpringMVC?bean加載控制的實(shí)現(xiàn)分析

    SpringMVC是一種基于Java,實(shí)現(xiàn)了Web?MVC設(shè)計(jì)模式,請(qǐng)求驅(qū)動(dòng)類型的輕量級(jí)Web框架,即使用了MVC架構(gòu)模式的思想,將Web層進(jìn)行職責(zé)解耦?;谡?qǐng)求驅(qū)動(dòng)指的就是使用請(qǐng)求-響應(yīng)模型,框架的目的就是幫助我們簡(jiǎn)化開(kāi)發(fā),SpringMVC也是要簡(jiǎn)化我們?nèi)粘eb開(kāi)發(fā)
    2023-02-02
  • java讀取properties文件的方法

    java讀取properties文件的方法

    這篇文章主要介紹了java讀取properties文件的方法,實(shí)例分析了java操作properties配置文件的相關(guān)技巧,需要的朋友可以參考下
    2015-05-05
  • SpringBoot整合SpringSecurity和JWT的示例

    SpringBoot整合SpringSecurity和JWT的示例

    這篇文章主要介紹了SpringBoot整合SpringSecurity和JWT的示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06

最新評(píng)論

祁门县| 漠河县| 襄汾县| 海兴县| 呈贡县| 沙坪坝区| 游戏| 达孜县| 永修县| 楚雄市| 兴宁市| 喀喇沁旗| 那坡县| 大厂| 巨野县| 赤水市| 香河县| 诏安县| 永福县| 霍城县| 黄骅市| 登封市| 渝中区| 河津市| 南汇区| 金湖县| 广丰县| 蓬安县| 神木县| 平阳县| 无为县| 湖口县| 开化县| 鱼台县| 崇左市| 正安县| 康定县| 汝阳县| 怀宁县| 张家港市| 汪清县|