大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國(guó)咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學(xué)習(xí)攻略 Java學(xué)習(xí) 舉例說明Java多線程demo

舉例說明Java多線程demo

更新時(shí)間:2022-08-05 10:34:19 來源:動(dòng)力節(jié)點(diǎn) 瀏覽1180次

實(shí)現(xiàn)Java多線程demo用什么方式?動(dòng)力節(jié)點(diǎn)小編來告訴大家。

方式一:繼承Thread類的方式:?

創(chuàng)建一個(gè)繼承于Thread類的子類

重寫Thread類的run() --> 將此線程執(zhí)行的操作聲明在run()中

創(chuàng)建Thread類的子類的對(duì)象

通過此對(duì)象調(diào)用start():①啟動(dòng)當(dāng)前線程 ② 調(diào)用當(dāng)前線程的run()

?方式二:實(shí)現(xiàn)Runnable接口的方式:?

創(chuàng)建一個(gè)實(shí)現(xiàn)了Runnable接口的類

實(shí)現(xiàn)類去實(shí)現(xiàn)Runnable中的抽象方法:run()

創(chuàng)建實(shí)現(xiàn)類的對(duì)象

將此對(duì)象作為參數(shù)傳遞到Thread類的構(gòu)造器中,創(chuàng)建Thread類的對(duì)象

通過Thread類的對(duì)象調(diào)用start()

?兩種方式的對(duì)比:?

開發(fā)中:優(yōu)先選擇:實(shí)現(xiàn)Runnable接口的方式

原因:

1. 實(shí)現(xiàn)的方式?jīng)]類的單繼承性的局限性

2. 實(shí)現(xiàn)的方式更適合來處理多個(gè)線程共享數(shù)據(jù)的情況。

聯(lián)系:public class Thread implements Runnable

相同點(diǎn):兩種方式都需要重寫run(),將線程要執(zhí)行的邏輯聲明在run()中。

目前兩種方式,要想啟動(dòng)線程,都是調(diào)用的Thread類中的start()。

用偽代碼來表示:

//1. 創(chuàng)建一個(gè)繼承于Thread類的子類
class MyThread extends Thread {
    //2. 重寫Thread類的run()
    @Override
    public void run() {
        for (int i = 0; i < 100; i++) {
            if(i % 2 == 0){
                System.out.println(Thread.currentThread().getName() + ":" + i);
            }
        }
    }
}
public class ThreadTest {
    public static void main(String[] args) {
        //3. 創(chuàng)建Thread類的子類的對(duì)象
        MyThread t1 = new MyThread();
        //4.通過此對(duì)象調(diào)用start():①啟動(dòng)當(dāng)前線程 ② 調(diào)用當(dāng)前線程的run()
        t1.start();
        //問題一:我們不能通過直接調(diào)用run()的方式啟動(dòng)線程。
//        t1.run();
        //問題二:再啟動(dòng)一個(gè)線程,遍歷100以內(nèi)的偶數(shù)。不可以還讓已經(jīng)start()的線程去執(zhí)行。會(huì)報(bào)IllegalThreadStateException
//        t1.start();
        //我們需要重新創(chuàng)建一個(gè)線程的對(duì)象
        MyThread t2 = new MyThread();
        t2.start();
        //如下操作仍然是在main線程中執(zhí)行的。
        for (int i = 0; i < 100; i++) {
            if(i % 2 == 0){
                System.out.println(Thread.currentThread().getName() + ":" + i + "***********main()************");
            }
        }
    }
}
class Window1 implements Runnable{
    private int ticket = 100;
    @Override
    public void run() {
        while(true){
            if(ticket > 0){
                System.out.println(Thread.currentThread().getName() + ":賣票,票號(hào)為:" + ticket);
                ticket--;
            }else{
                break;
            }
        }
    }
}
public class WindowTest1 {
    public static void main(String[] args) {
        Window1 w = new Window1();
        Thread t1 = new Thread(w);
        Thread t2 = new Thread(w);
        Thread t3 = new Thread(w);
        t1.setName("窗口1");
        t2.setName("窗口2");
        t3.setName("窗口3");
        t1.start();
        t2.start();
        t3.start();
    }
}

不是所有的場(chǎng)合都適合多線程的使用,使用多線程要注意的問題也不少。如果大家想了解更多相關(guān)知識(shí),可以關(guān)注一下動(dòng)力節(jié)點(diǎn)的Java在線學(xué)習(xí),里面的課程內(nèi)容從入門到精通,細(xì)致全面,很適合小白學(xué)習(xí),希望對(duì)大家能夠有所幫助。

提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)

  • 全國(guó)校區(qū) 2025-04-24 搶座中
  • 全國(guó)校區(qū) 2025-05-15 搶座中
  • 全國(guó)校區(qū) 2025-06-05 搶座中
  • 全國(guó)校區(qū) 2025-06-26 搶座中
免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 亚洲无线码一区在线观看 | 青青青青久久精品国产h | 麻豆国产高清精品国在线 | 免费黄色福利视频 | 一区二区三区在线观看视频 | 老子影院午夜理伦手机不卡 | 免费毛片播放 | 夜色亚洲| 九九天天影视 | 精品国产线拍大陆久久尤物 | 日韩欧美aa级草草免费视频 | 欧美在线视频网 | 伊人久久香蕉 | 久久久男女野外野战 | 国产在视频线精品www666 | 亚欧毛片基地国产毛片基地 | 成人区精品一区二区毛片不卡 | 成人在线精品 | 99在线热视频 | 久草视频网址 | 国产伦精品一区二区三区四区 | 亚洲国产天堂久久精品网 | 成年女人视频免费免费看 | 夜夜艹天天干 | 久久91精品牛牛 | 永久免费的啪啪免费的网址 | 最新欧美精品一区二区三区不卡 | 伊人网综合视频 | 久久中字 | 国产五月天在线 | 欧美日韩中文在线 | 女bbbbxxxx毛片视频0 | 日产国产欧美视频一区精品 | 亚洲综合首页 | 久久精品亚洲欧美日韩久久 | 在线欧美 | 4hu四虎永久网址 | 精品国产成人综合久久小说 | 四虎澳门永久8848在线影院 | 青青青青手机在线视频观看国产 | 国产精品伦一区二区三级视频 |