1. 程式人生 > >Thread類常用方法

Thread類常用方法

Thread類構造方法:

1.Thread();

2.Thread(String name);

3.Thread(Runable r);

4.Thread(Runable r, String name);

public class Test {

	public static void main(String[] args) {
		/*
		MyThread thread1 = new MyThread();
		MyThread thread2 = new MyThread("MyThread");
		thread1.start();
		thread2.start();
		*/
		MyRunnable run = new MyRunnable();
		Thread thread3 = new Thread(run);
		Thread thread4 = new Thread(run, "MyThread");
		thread3.start();
		thread4.start();
	}

}

常用方法:

start();//啟動執行緒

getId();//獲得執行緒ID

getName();//獲得執行緒名字

getPriority();//獲得優先權

isAlive();//判斷執行緒是否活動

isDaemon();//判斷是否守護執行緒

getState();//獲得執行緒狀態

sleep(long mill);//休眠執行緒

join();//等待執行緒結束

yield();//放棄cpu使用權利

interrupt();//中斷執行緒

currentThread();//獲得正在執行的執行緒物件

守護執行緒:也叫精靈執行緒,當程式只剩下守護執行緒的時候就會退出。

守護執行緒 的作用類似在後臺靜默執行,比如JVM的垃圾回收機制,這個就是一個守護執行緒。而非守護執行緒則不會。

MyRunnable run = new MyRunnable();
		Thread thread3 = new Thread(run);
		Thread thread4 = new Thread(run, "MyThread");
		//設定優先級別
//		thread3.setPriority(1);
//		thread3.setPriority(Thread.MAX_PRIORITY);
//		thread4.setPriority(10);
		thread3.setPriority(Thread.NORM_PRIORITY);
		thread4.setPriority(Thread.NORM_PRIORITY);
		//獲得執行緒的優先級別
		System.out.println(thread3.getPriority());
		System.out.println(thread4.getPriority());
		System.out.println("----------------------");
		thread3.start();
		thread4.start();
		System.out.println("----------------------");
		System.out.println("執行緒3是否活動:"+thread3.isAlive());
		System.out.println("執行緒4是否活動:"+thread4.isAlive());
		System.out.println("----------------------");
//		thread3.setDaemon(true);//設定為守護執行緒,必須在啟動之前設定
		System.out.println("執行緒3是否是守護執行緒:"+thread3.isDaemon());
		System.out.println("執行緒4是否是守護執行緒:"+thread4.isDaemon());
		System.out.println("----------------------");
		//獲取執行緒狀態
		System.out.println("執行緒3的狀態:"+thread3.getState());
		System.out.println("執行緒4的狀態:"+thread4.getState());
		try {
			thread4.join();//等待執行緒4的結束
		} catch (InterruptedException e) {
			e.printStackTrace();
		}