1. 程式人生 > >11.5-全棧Java筆記:線程基本信息和優先級別

11.5-全棧Java筆記:線程基本信息和優先級別

java

獲取線程基本信息的方法

線程的常用方法

方法

功能

isAlive()

判斷線程是否還“活”著,即線程是否還未終止。

getPriority()

獲得線程的優先級數值

setPriority()

設置線程的優先級數值

setName()

給線程一個名字

getName()

取得線程的名字

currentThread()

取得當前正在運行的線程對象,也就是取得自己本身

【示例1】線程的常用方法舉例一

public class ThreadTest3 {

public static void main(String[] argc) throws Exception {

Runnable r = new

Thread6();

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筆記:線程基本信息和優先級別