Thread類常用方法
阿新 • • 發佈:2019-02-06
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(); }