示例代码

public class ThreadProperty {  	public static void main(String[] args) { 		TestThread testThread = new TestThread(); 		for (int i = 0; i < 5; i++) { 			Thread t = new Thread(testThread, "name" + (i + 1)); 			t.setPriority(10 - i); 			if (i == 1) 				t.setDaemon(true); 			t.start(); 		}  		Thread main = Thread.currentThread(); 		String threadName = main.getName(); 		System.out.println("这是主线程" + threadName); 		System.out.println("返回当前线程" + threadName + "的线程组中活动线程的数目" + Thread.activeCount()); 		System.out.println("返回当前线程" + threadName + "标识符" + main.getId()); 		System.out.println("返回当前线程" + threadName + "优先级" + main.getPriority()); 		System.out.println("返回当前线程" + threadName + "状态" + main.getState()); 		System.out.println("返回当前线程" + threadName + "所属的线程组" + main.getThreadGroup()); 		System.out.println("返回当前线程" + threadName + "是否处于活动状态" + main.isAlive()); 		System.out.println("返回当前线程" + threadName + "是否为守护线程" + main.isDaemon()); 		System.out.println("返回当前线程" + threadName + "是否中断" + main.isInterrupted()); 		try { 			Thread.sleep(5000); 		} catch (InterruptedException e) { 			e.printStackTrace(); 		} 		System.out.println("主线程结束了"); 	} }  class TestThread implements Runnable {  	@Override 	public void run() { 		try { 			Thread.sleep(10000); 		} catch (Exception e) { 		} 		Thread thread = Thread.currentThread(); 		String threadName = thread.getName(); 		System.out.println("这是线程名称" + threadName); 		System.out.println("返回当前线程" + threadName + "的线程组中活动线程的数目" + Thread.activeCount()); 		System.out.println("返回当前线程" + threadName + "标识符" + thread.getId()); 		System.out.println("返回当前线程" + threadName + "优先级" + thread.getPriority()); 		System.out.println("返回当前线程" + threadName + "状态" + thread.getState()); 		System.out.println("返回当前线程" + threadName + "所属的线程组" + thread.getThreadGroup()); 		System.out.println("返回当前线程" + threadName + "是否处于活动状态" + thread.isAlive()); 		System.out.println("返回当前线程" + threadName + "是否为守护线程" + thread.isDaemon()); 		System.out.println("返回当前线程" + threadName + "是否中断" + thread.isInterrupted()); 	} }

运行结果

这是主线程main
返回当前线程main的线程组中活动线程的数目6
返回当前线程main标识符1
返回当前线程main优先级5
返回当前线程main状态RUNNABLE
返回当前线程main所属的线程组java.lang.ThreadGroup[name=main,maxpri=10]
返回当前线程main是否处于活动状态true
返回当前线程main是否为守护线程false
返回当前线程main是否中断false
主线程结束了
这是线程名称name2
这是线程名称name4
这是线程名称name1
这是线程名称name3
返回当前线程name2的线程组中活动线程的数目6
返回当前线程name3的线程组中活动线程的数目6
返回当前线程name3标识符12
返回当前线程name3优先级8
返回当前线程name3状态RUNNABLE
返回当前线程name3所属的线程组java.lang.ThreadGroup[name=main,maxpri=10]
返回当前线程name3是否处于活动状态true
返回当前线程name3是否为守护线程false
返回当前线程name3是否中断false
这是线程名称name5
返回当前线程name4的线程组中活动线程的数目6
返回当前线程name1的线程组中活动线程的数目6
返回当前线程name2标识符11
返回当前线程name4标识符13
返回当前线程name1标识符10
返回当前线程name2优先级9
返回当前线程name5的线程组中活动线程的数目5
返回当前线程name1优先级10
返回当前线程name1状态RUNNABLE
返回当前线程name1所属的线程组java.lang.ThreadGroup[name=main,maxpri=10]
返回当前线程name1是否处于活动状态true
返回当前线程name1是否为守护线程false
返回当前线程name1是否中断false
返回当前线程name4优先级7
返回当前线程name4状态RUNNABLE
返回当前线程name4所属的线程组java.lang.ThreadGroup[name=main,maxpri=10]
返回当前线程name4是否处于活动状态true
返回当前线程name4是否为守护线程false
返回当前线程name4是否中断false
返回当前线程name2状态RUNNABLE
返回当前线程name2所属的线程组java.lang.ThreadGroup[name=main,maxpri=10]
返回当前线程name2是否处于活动状态true
返回当前线程name2是否为守护线程true
返回当前线程name2是否中断false
返回当前线程name5标识符14
返回当前线程name5优先级6
返回当前线程name5状态RUNNABLE
返回当前线程name5所属的线程组java.lang.ThreadGroup[name=main,maxpri=10]
返回当前线程name5是否处于活动状态true
返回当前线程name5是否为守护线程false
返回当前线程name5是否中断false