首頁 > 基礎教程 > 多線程 > 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原創文章,未經本站允許不得轉載。