11.5-全棧Java筆記:線程基本信息和優先級別
獲取線程基本信息的方法
表 線程的常用方法 | |
方法 | 功能 |
isAlive() | 判斷線程是否還“活”著,即線程是否還未終止。 |
getPriority() | 獲得線程的優先級數值 |
setPriority() | 設置線程的優先級數值 |
setName() | 給線程一個名字 |
getName() | 取得線程的名字 |
currentThread() | 取得當前正在運行的線程對象,也就是取得自己本身 |
【示例1】線程的常用方法舉例一
public class ThreadTest3 { public static void main(String[] argc) throws Exception { Runnable r = new Thread t = new Thread(r, "Name test"); t.start(); System.out.println("name is: " + t.getName()); Thread.currentThread().sleep(5000); System.out.println(t.isAlive()); System.out.println("over!"); } } class Thread6 implements Runnable { public void run() { for (int i = 0; i < 100; i++) System.out.println(i); } } |
線程的優先級
1.處於就緒狀態的線程,會形“就緒隊列”等待JVM來挑選。 JVM按照線程的優先級決定應調度哪個線程來執行。
2.線程的優先級用數字表示,範圍從1到10。一個線程的缺省優先級是5
3.使用下述方法獲得或設置線程對象的優先級。
int getPriority();
void setPriority(int newPriority);
註意:優先級低只是意味著獲得調度的概率低。並不是絕對先調用優先級高後調用優先級低的線程。
【示例2】線程的優先級舉例二
public class ThreadTest4 { public static void main(String[] args) { Thread t1 = new Thread(new Thread7(), "t1"); Thread t2 = new Thread(new Thread7(), "t2"); t1.setPriority(1); t2.setPriority(10); t1.start(); t2.start(); } } class Thread7 extends Thread { public void run() { for (int i = 0; i < 20; i++) { System.out.println(Thread.currentThread().getName() + ": " + i); // yield(); } } } |
「全棧Java筆記」是一部能幫大家從零到一成長為全棧Java工程師系列筆記。筆者江湖人稱 Mr. G,10年Java研發經驗,曾在神州數碼、航天院某所研發中心從事軟件設計及研發工作,從小白逐漸做到工程師、高級工程師、架構師。精通Java平臺軟件開發,精通JAVAEE,熟悉各種流行開發框架。
筆記包含從淺入深的六大部分:
A-Java入門階段
B-數據庫從入門到精通
C-手刃移動前端和Web前端
D-J2EE從了解到實戰
E-Java高級框架精解
F-Linux和Hadoop
本文出自 “12931675” 博客,請務必保留此出處http://12941675.blog.51cto.com/12931675/1945762
11.5-全棧Java筆記:線程基本信息和優先級別