java多线程学习2,线程的属性
2017-03-31 22:30
411 查看
示例代码
这是主线程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
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
相关文章推荐
- Java多线程学习 (一) 前台、后台线程
- java多线程学习1(补充)-线程的概念和原理
- java多线程学习一线程安全之内存、synchronized、volatile
- Java多线程学习总结--线程概述及创建线程的方式(1)
- JAVA多线程学习3--线程一些方法
- Java多线程学习:线程的生命周期
- java基础学习__多线程(停止线程,守护线程,join方法)
- 关于多线程学习总结(二) 了解线程的属性及方法
- 我的安卓学习之路--Java多线程--线程简介
- Java多线程编程学习笔记之一:线程中断(含代码)
- java多线程学习2-线程栈模型与线程的变量
- Java基础学习6_多线程(线程间通信--生产者消费者)
- 学习java多线程的笔记3-使用BlockingQueue阻塞队列来模拟两个线程之间的通信
- 黑马程序员--Java学习笔记之多线程(自定义线程的两种方式对比、线程状态、线程安全)
- java多线程学习四:后台线程
- 学习笔记 java多线程(四)线程间协作
- java多线程学习3-线程状态转换
- Java基础学习5_多线程(线程间通信--等待唤醒机制)
- [原]Java多线程编程学习笔记之一:线程中断(含代码)
- java学习多线程之线程状态