Thread类的对象中保存了一些属性信息能够帮助我们来辨别每一个线程,知道它的状态,调整控制其优先级。 这些属性是:
1 public class Calculator implements Runnable {
1 private int number;
2 public Calculator(int number) {
3 this.number=number;
4 }
1 @Override
2 public void run() {
3 for (int i=1; i<=10; i++){
4 System.out.printf("%s: %d * %d = %d\n",Thread. currentThread().getName(),number,i,i*number);
5 }
6 }
1 public class Main {
2 public static void main(String[] args) {
Thread thread1=new Thread(new Calculator(1));
//获取线程ID
long id=thread1.getId();
//获取线程名称
String name=thread1.getName();
//获取线程级别
int priority =thread1.getPriority();
//获取线程状态
Thread.State state=thread1.getState();
System.out.println("id is:"+id);
System.out.println("name is:"+name);
System.out.println("priority is:"+priority);
System.out.println("state is:"+state);
System.out.println("----------重新设置Thread的相关属性,并启动线程--------------");
thread1.setName("thread-----111");
thread1.setPriority(Thread.MAX_PRIORITY);
thread1.start();
System.out.println("----------重新获取Thread的相关数据信息--------------");
System.out.println("id is:"+thread1.getId());
System.out.println("name is:"+thread1.getName());
System.out.println("priority is:"+thread1.getPriority());
System.out.println("state is:"+thread1.getState());
try {
Thread.sleep(5000);
System.out.println("----------Thread.state的状态信息--------------");
System.out.println("state is:"+thread1.getState());
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
package com.java.demo;
public class Calculator implements Runnable {
private int number;
public Calculator(int number) {
this.number = number;
}
@Override
public void run() {
for (int i = 1; i <= 10; i++) {
System.out.printf("%s: %d * %d = %d\n", Thread.currentThread().getName(), number, i, i * number);
}
}
}
package com.java.demo;
public class Main {
public static void main(String[] args) {
Thread thread1=new Thread(new Calculator(1));
//获取线程ID
long id=thread1.getId();
//获取线程名称
String name=thread1.getName();
//获取线程级别
int priority =thread1.getPriority();
//获取线程状态
Thread.State state=thread1.getState();
System.out.println("id is:"+id);
System.out.println("name is:"+name);
System.out.println("priority is:"+priority);
System.out.println("state is:"+state);
System.out.println("----------重新设置Thread的相关属性,并启动线程--------------");
thread1.setName("thread-----111");
thread1.setPriority(Thread.MAX_PRIORITY);
thread1.start();
System.out.println("----------重新获取Thread的相关数据信息--------------");
System.out.println("id is:"+thread1.getId());
System.out.println("name is:"+thread1.getName());
System.out.println("priority is:"+thread1.getPriority());
System.out.println("state is:"+thread1.getState());
try {
Thread.sleep(5000);
System.out.println("----------Thread.state的状态信息--------------");
System.out.println("state is:"+thread1.getState());
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}