線程常用操作方法

前面學習了線程的實現,接下來看看線程的常用操作方法。


1.線程的命名和取得。

在Thread類中提供了以下方法實現線程名稱的操作


.構造方法:public Thread(ThreadGroup group, Runnable target, String name)
.設置名字:public final void setName(String name)  
.取得名字: public final String getName()

線程的執行狀態本身是不確定的狀態,所以如果要取得線程的名字的話,唯一能做的是取得當前執行的線程的名字,Thread類裏提供了這樣的方法。

public static Thread currentThread()

範例:

class MyThread implements Runnable {
	@Override
	public void run() {
		System.out.println("MyThread線程類: " + Thread.currentThread().getName());
	}
}
public class test {
	public static void main(String[] args) throws Exception {
		MyThread mt = new MyThread();
		new Thread(mt).start();//線程啓動調用run() -->輸出:MyThread線程類: Thread-0
		mt.run();//直接調用run() -->輸出MyThread線程類: main
	}
}

線程一定依附於進程存在的。java命令在jvm上解釋某個程序執行的時候,默認都會執行一個jvm的進程,而主方法只是進程中的一個線程。整個程序一直都跑在線程的運行機制上。

每一個jvm至少會啓動兩個線程:主線程,GC線程。


2.線程的休眠

  休眠方法:public static void sleep(long millis) throws InterruptedException

    millis - 以毫秒爲單位的休眠時間。

    InterruptedException -中斷異常,休眠時間沒有到,線程就被中斷了,拋出此異常。此異常非RuntimeException異常,需要處理。

 線程的休眠是有先後順序的。


3.線程的優先級。

  設置線程優先級:public final void setPriority(int newPriority)

  獲取線程優先級:public final int getPriority()

優先級的定義一共有三種:

 線程的最高優先級:public static final int MAX_PRIORITY

 線程最低優先級:public static final int MIN_PRIORITY

 線程的中等優先級:public static final int NORM_PRIORITY

理論上線程的優先級越高越有可能先執行。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章