11.5-全栈Java笔记:线程基本信息和优先级别

来源:互联网 发布:窗户打开方式 知乎 编辑:程序博客网 时间:2024/06/05 16:51


获取线程基本信息的方法

  线程的常用方法

方法

功能

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 



原创粉丝点击