获取线程基本信息的方法
表 线程的常用方法
方法
功能
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