線程八大基礎核心一(建立線程的方式)

1.引子

 在java多線程併發編程中,有八大基礎核心。考考你:看看都有哪八大基礎核心呢?它們分別是:
 1.建立線程的方式
 2.線程啓動
 3.線程中止
 4.線程生命週期
 5.線程相關的方法
 6.線程相關的屬性
 7.線程異常處理
 8.線程安全

 今天咱們從第一個基礎核心開始:建立線程的方式

 

2.考考你

#考考你:
 你知道在java編程語言中,有幾種建立線程的方式嗎?
 
#參考以下:網友說法、官方文檔

網友說法:java

官方文檔說法:編程

#說法比較:
    在網絡上,關於建立線程的方式。主流的說法有四種:繼承Thread、實現Runnable、線程池、Callable與Future
    
    在官方文檔,關於建立線程的方式。有且僅有兩種:繼承Thread、實現Runnable
    
#答案:
    在java編程語言中,建立線程的方式,咱們以官方文檔爲準,只有兩種。關於說線程池、Callable與Future是項目開發中經常使用的方式,它們的底層其實仍是Runnable。安全

3.繼承Thread

package com.anan.thread.createthread;

public class ThreadDemo {

    public static void main(String[] args) {
        // 建立線程對象,並啓動
        Thread t1 = new MyThread();
        t1.start();
    }
}

/**
 * 繼承Thread方式,建立線程
 */
class MyThread extends Thread{

    @Override
    public void run() {
        System.out.println("繼承Thread方式,建立線程");
    }
}

執行結果:網絡

4.實現Runnable

package com.anan.thread.createthread;

public class RunnableDemo {

    public static void main(String[] args) {
        // 建立線程對象,並啓動
        Runnable r1 = new MyRunnable();
        Thread t1 = new Thread(r1);
        
        t1.start();

    }
}

/**
 * 實現Runnable接口,建立線程
 */
class MyRunnable implements Runnable{

    public void run() {
        System.out.println("實現Runnable接口,建立線程");
    }
}

執行結果:多線程

5.討論分享

#實際開發中,哪種建立線程的方式更好?
    1.雖然在java編程語言中,有兩種建立線程的方式:繼承Thread、實現Runnable
    2.在實際開發中,推薦使用實現Runnable接口方式,緣由有:
        2.1.實現Runnable接口方式,能夠將線程處理業務,與建立線程分離,從而解耦
        2.2.實現Runnable接口方式,擴展性更好,由於在java編程語言中,只能繼承一個父類,而能夠實現多個接口
        2.3.實現Runnable接口方式,配合線程池使用,有更好的資源利用率和性能併發

相關文章
相關標籤/搜索