天天看點

java thread 方法_Java Thread類實作多線程方法

首頁 > 基礎教程 > 多線程 > Thread類

Java Thread類實作多線程方法

Java Thread類實作多線程有下面3個步驟:

1.首先建立一個任務類extends Thread類,因為Thread類實作了Runnable接口,是以自定義的任務類也實作了Runnable接口,重新run()方法,其中定義具體的任務代碼或處理邏輯。

2.建立一個任務類對象,可以用Thread或者Runnable作為自定義的變量類型。

3.調用自定義對象的start()方法,啟動一個線程。

Thread類實作多線程執行個體如下:

package com.muzeet.mutithread;

//每個任務都是Runable接口的一個執行個體,任務是可運作對象,線程即可運作對象。必須建立任務類,重寫run方法定義任務

public class ExtendFromThread extends Thread {

private int countDown = 10;

@Override

//重寫run方法,定義任務

public void run() {

while(countDown-- >0)

{

System.out.println("$" + this.getName()

+ "(" + countDown + ")");

}

}

//調用start方法會啟動一個線程,導緻任務中的run方法被調用,run方法執行完畢則線程終止

public static void main(String[] args) {

ExtendFromThread thread1 = new ExtendFromThread();

ExtendFromThread thread2 = new ExtendFromThread();

thread1.start();

thread2.start();

System.out.println("火箭發射倒計時:");

}

}

運作結果:

火箭發射倒計時:

$Thread-0(9)

$Thread-0(8)

$Thread-0(7)

$Thread-0(6)

$Thread-0(5)

$Thread-0(4)

$Thread-0(3)

$Thread-0(2)

$Thread-0(1)

$Thread-0(0)

$Thread-1(9)

$Thread-1(8)

$Thread-1(7)

$Thread-1(6)

$Thread-1(5)

$Thread-1(4)

$Thread-1(3)

$Thread-1(2)

$Thread-1(1)

$Thread-1(0)

start()方法

Thread用 start方法來啟動線程,真正實作了多線程運作,這時無需等待run方法體代碼執行完畢而直接繼續執行下面的代碼。通過調用Thread類的 start()方法來啟動一個線程,這時此線程處于就緒(可運作)狀态,并沒有運作,一旦得到cpu時間片,就開始執行run()方法,這裡方法 run()稱為線程體,它包含了要執行的這個線程的内容,Run方法運作結束,此線程随即終止。

總結

(1)優點:編寫簡單,如果需要通路目前線程,無需使用Thread.currentThread()方法,直接使用this,即可獲得目前線程。

(2)缺點:因為線程類已經繼承了Thread類,是以不能再繼承其他的父類。

版權聲明:本文為JAVASCHOOL原創文章,未經本站允許不得轉載。