线程常用方法
package test;/*
線程常用的方法:Thread(String name) 初始化線程的名字setName(String name) 設置線程對象名getName() 返回線程的名字sleep() 線程睡眠指定的毫秒數(shù)。 靜態(tài)的方法, 在哪個線程中執(zhí)行了sleep方法代碼那么就是哪個線程睡眠。currentThread() 返回當前的線程對象,該方法是一個靜態(tài)的方法, 注意: 在哪個線程中執(zhí)行了currentThread()代碼就返回那個線程 的對象。getPriority() 返回當前線程對象的優(yōu)先級 默認線程的優(yōu)先級是5setPriority(int newPriority) 設置線程的優(yōu)先級 雖然設置了線程的優(yōu)先級,但是具體的實現(xiàn)取決于底層的操作系統(tǒng)的實現(xiàn)(最大的優(yōu)先級是10 ,最小的1 , 默認是5)。*/
public class Demo3 extends Thread {public Demo3(String name){super(name); //調(diào)用了Thread類的一個 參數(shù)的構造方法。
}@Overridepublic void run() {/*System.out.println("this:"+ this);System.out.println("當前線程對象:" + Thread.currentThread()); */for (int i = 0; i < 100 ; i++) {System.out.println(Thread.currentThread().getName()+":"+i);//需要執(zhí)行時去掉注釋就好/*try {Thread.sleep(100); //為什么在這里不能拋出異常,只能捕獲?? Thread類的run方法沒有拋出異常類型,所以子類不能拋出異常類型。} catch (InterruptedException e) {e.printStackTrace();} */}}public static void main(String[] args) throws InterruptedException {//創(chuàng)建了一個線程對象Demo3 d = new Demo3("狗娃");//初始化線程的名字
// d.setName("鐵蛋"); //setName設置線程的名字d.setPriority(10); //設置線程 的優(yōu)先級。 優(yōu)先級的數(shù)字越大,優(yōu)先級越高 , 優(yōu)先級的范圍是1~10
// d.start();for (int i = 0; i < 100 ; i++) {System.out.println(Thread.currentThread().getName()+":"+i);}System.out.println("自定義線程的優(yōu)先級:"+d.getPriority()); //線程的優(yōu)先級默認是5System.out.println("主線程的優(yōu)先級:"+Thread.currentThread().getPriority());d.start();d.setName("鐵蛋"); //setName設置線程的名字d.start(); //開啟線程
Thread mainThread = Thread.currentThread();System.out.println("主線程的名字:"+ mainThread.getName());}
}
?
轉(zhuǎn)載于:https://www.cnblogs.com/thiaoqueen/p/6564194.html
總結
- 上一篇: 深刻理解Python中的元类(metac
- 下一篇: Kubernetes的ConfigMap