static Thread currentThread()線程提供了一個(gè)靜態(tài)方法,用來獲取運(yùn)行該方法的線程 例1:
package day04;/** * static Thread currentThread()線程提供了一個(gè)靜態(tài)方法,用來獲取運(yùn)行該方法的線程 * @author Administrator*/public class ThreadAPIDemo1 { /** * main方法也是靠一個(gè)線程運(yùn)行的。當(dāng)我們執(zhí)行java程序時(shí),系統(tǒng)會(huì)啟動(dòng)一個(gè)進(jìn)程來運(yùn)行我們的程序。當(dāng)進(jìn)程啟動(dòng)后jvm也會(huì)創(chuàng)建線程來運(yùn)行我們的main方法。 * @param args */ public static void main(String[] args) { /* * 返回運(yùn)行當(dāng)前方法的線程。這里的t就是運(yùn)行main方法的線程了。 */ Thread t = Thread.currentThread(); System.out.運(yùn)行結(jié)果:運(yùn)行dosome方法的線程是:Thread[main,5,main]自定義的線程是:Thread[Thread-0,5,main]運(yùn)行run方法的線程是:Thread[Thread-0,5,main]運(yùn)行dosome方法的線程是:Thread[Thread-0,5,main]例2:
package day04;/** * 獲取線程相關(guān)信息的API*/public class ThreadAPIDemo2 { public static void main(String[] args) { Thread t = Thread.currentThread(); long id = t.getId();//獲取線程id System.out.println("id:"+id); System.out.println("name:"+t.getName()); System.out.println("priority:"+t.getPriority());//priority 英[pra???r?ti]n. 優(yōu)先,優(yōu)先權(quán); System.out.println("isAlive:"+t.isAlive()); System.out.println("isDaemon:"+t.isDaemon()); System.out.println("isInterrupted:"+t.isInterrupted()); }}運(yùn)行結(jié)果:
id:1name:mainpriority:5isAlive:trueisDaemon:falseisInterrupted:false例3:
package day04;/** * 線程的優(yōu)先級(jí),線程優(yōu)先級(jí)有10個(gè)等級(jí) * 1最低,10最高,5是默認(rèn)值;優(yōu)先級(jí)越高的線程理論上被分配CPU時(shí)間片的次數(shù)就多。 */public class ThreadAPIDemo3 { public static void main(String[] args) { Thread min = new Thread(){ public void run(){ for(int i=0;i<10000;i++){System.out.println("min");} } }; Thread max = new Thread(){ public void run(){ for(int i=0;i<10000;i++){System.out.println("max");} } }; Thread norm = new Thread(){ public void run(){ for(int i=0;i<10000;i++){System.out.println("norm");} } }; min.setPriority(Thread.MIN_PRIORITY); max.setPriority(Thread.MAX_PRIORITY); min.start(); norm.start(); max.start(); }}新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注