首頁  >  文章  >  Java  >  練習嘗試這個擴展線程

練習嘗試這個擴展線程

Linda Hamilton
Linda Hamilton原創
2024-11-21 07:07:09709瀏覽

Exercício Tente Isto Extendendo Thread

在本練習中,您將學習如何透過直接擴展 Thread 類別(而不是實作 Runnable 介面)來在 Java 中建立執行緒。透過這樣做,您的類別繼承了 Thread 方法,這使得直接操作執行緒變得更容易,而不需要實例化單獨的執行緒。

運動步驟

擴充 Thread 類別:
你的類別必須繼承自 Thread 並重寫 run() 方法。

類別建構子:
使用 super(name) 建構函式為執行緒命名,並透過直接呼叫 start() 開始執行。

重寫 run() 方法:
該方法定義了線程的行為。在這裡,線程打印它的名稱並運行一個循環。
完整的功能範例:

下面是程式碼:

// Define a classe que estende Thread
class MyThread extends Thread {
    // Constrói uma nova thread
    MyThread(String name) {
        super(name); // Nomeia a thread
        start();     // Inicia a thread
    }

    // Começa a execução da nova thread
    public void run() {
        System.out.println(getName() + " starting.");
        try {
            for (int count = 0; count < 10; count++) {
                Thread.sleep(400); // Pausa por 400ms
                System.out.println("In " + getName() + ", count is " + count);
            }
        } catch (InterruptedException exc) {
            System.out.println(getName() + " interrupted.");
        }
        System.out.println(getName() + " terminating.");
    }
}

// Classe principal para demonstrar a execução das threads
class ExtendThread {
    public static void main(String[] args) {
        System.out.println("Main thread starting.");

        // Cria uma nova thread
        MyThread mt = new MyThread("Child #1");

        // Executa a thread principal
        for (int i = 0; i < 50; i++) {
            System.out.print(".");
            try {
                Thread.sleep(100); // Pausa por 100ms
            } catch (InterruptedException exc) {
                System.out.println("Main thread interrupted.");
            }
        }

        System.out.println("Main thread ending.");
    }
}

程式碼如何運作
輔助執行緒建立:
「Child #1」執行緒被建立並透過 start() 立即啟動。

輔助執行緒執行:
該執行緒執行一個循環,列印訊息並在迭代之間暫停 400 毫秒。

主執行緒執行:
同時,主執行緒以 100 毫秒的間隔列印點(“.”)。

程式輸出(範例)

Main thread starting.
Child #1 starting.
.In Child #1, count is 0
..In Child #1, count is 1
...In Child #1, count is 2
... (continua)
Main thread ending.
Child #1 terminating.

觀察
主線程和輔助線程同時運行。
run()方法包含了輔助執行緒的邏輯,而主執行緒則繼續獨立執行。

以上是練習嘗試這個擴展線程的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn