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

Java多線程編程概述
Java多線程的安全問題
Java多線程同步
Java多線程間的通信
Java線程Lock
Java多線程管理
保障線程安全的設計技術
Java鎖的優化及注意事項
Java多線程集合
【Java多線程】單例模式與多線程

Java多線程的創建與啟動方式

在Java中,創建一個線程就是創建一個Thread類(子類)的對象(實例)。

Thread類有兩個常用的構造方法:Thread()與Thread(Runnable).對應的創建線程的兩種方式:

● 定義Thread類的子類

● 定義一個Runnable接口的實現類

這兩種創建線程的方式沒有本質的區別。

package com.wkcto.createthread.p1;

/**
 * 1)定義類繼承Thread
 * Author : 蛙課網老崔
 */
public class MyThread extends  Thread{
    //2) 重寫Thread父類中的run()
    //run()方法體中的代碼就是子線程要執行的任務
    @Override
    public void run() {
        System.out.println("這是子線程打印的內容");
    }
}
package com.wkcto.createthread.p1;

/**
 * Author : 蛙課網老崔
 */
public class Test {
    public static void main(String[] args) {
        System.out.println("JVM啟動main線程,main線程執行main方法");
        //3)創建子線程對象
        MyThread thread = new MyThread();
        //4)啟動線程
        thread.start();
        /*
            調用線程的start()方法來啟動線程, 啟動線程的實質就是請求JVM運行相應的線程,這個線程具體在什么時候運行由線程調度器(Scheduler)決定
            注意:
                start()方法調用結束并不意味著子線程開始運行
                新開啟的線程會執行run()方法
                如果開啟了多個線程,start()調用的順序并不一定就是線程啟動的順序
                多線程運行結果與代碼執行順序或調用順序無關
         */
        System.out.println("main線程后面其他 的代碼...");
    }
}
package com.wkcto.createthread.p3;

/**
 * 當線程類已經有父類了,就不能用繼承Thread類的形式創建線程,可以使用實現Runnable接口的形式
 * 1)定義類實現Runnable接口
 * Author : 蛙課網老崔
 */
public class MyRunnable implements Runnable {
    //2)重寫Runnable接口中的抽象方法run(), run()方法就是子線程要執行的代碼
    @Override
    public void run() {
        for(int i = 1;  i<=1000; i++){
            System.out.println( "sub thread --> " + i);
        }
    }
}
package com.wkcto.createthread.p3;

/**
 * 測試實現Runnable接口的形式創建線程
 * Author : 蛙課網老崔
 */
public class Test {
    public static void main(String[] args) {
        //3)創建Runnable接口的實現類對象
        MyRunnable  runnable = new MyRunnable();
        //4)創建線程對象
        Thread thread = new Thread(runnable);
        //5)開啟線程
        thread.start();

        //當前是main線程
        for(int i = 1;  i<=1000; i++){
            System.out.println( "main==> " + i);
        }

        //有時調用Thread(Runnable)構造方法時,實參也會傳遞匿名內部類對象
        Thread thread2 = new Thread(new Runnable() {
            @Override
            public void run() {
                for(int i = 1;  i<=1000; i++){
                    System.out.println( "sub ------------------------------> " + i);
                }
            }
        });
        thread2.start();
    }
}

 

全部教程
主站蜘蛛池模板: 香蕉视频在线观看网站 | 国产日韩网站 | 狠狠狠狼鲁欧美综合网免费 | 久久狠狠婷婷丁香香蕉 | 国产成人久久精品推最新 | 免费看欧美一级特黄a毛片 免费看欧美一级特黄α大片 | 欧美成人香蕉网在线观看 | 久久久久久久国产精品视频 | 成人中文字幕一区二区三区 | 在线亚洲欧美性天天影院 | 日韩欧美福利 | 网站一级片 | www.中文字幕 | 国内自拍 在线播放 网红 | 久久成人精品视频 | 成人99国产精品一级毛片 | 久草在线国产视频 | 国产在线播放一区二区 | 日本人成年视频在线观看 | 99热久久精品国 | 好吊妞免费视频 | 免费精品久久久久久中文字幕 | 亚洲香蕉中文网 | 国产成人亚洲精品91专区手机 | 7m凹凸国产刺激在线视频 | 久久99国产精品免费观看 | 天天襙 | 成人永久免费视频网站在线观看 | 中文字幕专区在线亚洲 | 久久亚洲精品中文字幕第一区 | 亚洲国产成人久久综合区 | 亚洲欧美一区二区三区 | 亚洲视频一区二区 | 久热视线观看免费视频 | 一区二区成人国产精品 | 精品久久久久久中文字幕一区 | 免费视频爱爱太爽了 | 中文亚洲字幕 | 欧美成人高清免费大片观看 | 天天夜干 | 婷婷开心中文字幕 |