Java Thread中的属性和方法
天飞 2017-12-19 20:43:50 浏览62 评论0java 线程 测试 string class thread
摘要: 手撸一次,加深印象,立此存照。
手撸一次,加深印象,立此存照。
ThreadB
package demo.thread;
public class ThreadB implements Runnable {
public void run() {
try {
Thread.sleep(5000L);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("This is thread B.");
Thread curThread = Thread.currentThread();
String curThreadName = curThread.getName();
System.out.println("这是线程的名称: " + curThread.getName());
System.out.println("返回当前线程" + curThreadName + "的线程组中活动线程的数目: " + Thread.activeCount());
System.out.println("返回该线程 " + curThreadName + "的标识符: " + curThread.getId());
System.out.println("返回线程 " + curThreadName + "的优先级: " + curThread.getPriority());
System.out.println("返回该线程" + curThreadName + "的状态: " + curThread.getState());
System.out.println("返回该线程" + curThreadName + "所属的线程组: " + curThread.getThreadGroup());
System.out.println("测试线程" + curThreadName + "是否处于活动状态: " + curThread.isAlive());
System.out.println("测试线程" + curThreadName + "是否属于守护线程: " + curThread.isDaemon());
}
}
Main
package demo.thread;
public class ThreadMain {
public static void main(String[] args) {
ThreadB threadB = new ThreadB();
for (int i=0; i<5; i++) {
new Thread(threadB, "线程名称:("+i+")").start();
}
//返回对当前正在执行的线程对象的引用。此处获得我们的主线程。
Thread threadMain = Thread.currentThread();
System.out.println("这是主线程");
System.out.println("主线程的名称: " + threadMain.getName());
System.out.println("返回当前线程" + threadMain + "的线程组中活动线程的数目: " + Thread.activeCount());
System.out.println("返回该线程 " + threadMain + "的标识符: " + threadMain.getId());
System.out.println("返回线程 " + threadMain + "的优先级: " + threadMain.getPriority());
System.out.println("返回该线程" + threadMain + "的状态: " + threadMain.getState());
System.out.println("返回该线程" + threadMain + "所属的线程组: " + threadMain.getThreadGroup());
System.out.println("测试线程" + threadMain + "是否处于活动状态: " + threadMain.isAlive());
System.out.println("测试线程" + threadMain + "是否属于守护线程: " + threadMain.isDaemon());
try {
Thread.sleep(5000L);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
Output
这是主线程
主线程的名称: main
返回当前线程Thread[main,5,main]的线程组中活动线程的数目: 6
返回该线程 Thread[main,5,main]的标识符: 1
返回线程 Thread[main,5,main]的优先级: 5
返回该线程Thread[main,5,main]的状态: RUNNABLE
返回该线程Thread[main,5,main]所属的线程组: java.lang.ThreadGroup[name=main,maxpri=10]
测试线程Thread[main,5,main]是否处于活动状态: true
测试线程Thread[main,5,main]是否属于守护线程: false
This is thread B.
This is thread B.
This is thread B.
This is thread B.
This is thread B.
这是线程的名称: 线程名称:(1)
这是线程的名称: 线程名称:(4)
这是线程的名称: 线程名称:(0)
这是线程的名称: 线程名称:(2)
返回当前线程线程名称:(0)的线程组中活动线程的数目: 6
返回该线程 线程名称:(0)的标识符: 10
返回线程 线程名称:(0)的优先级: 5
返回该线程线程名称:(0)的状态: RUNNABLE
返回该线程线程名称:(0)所属的线程组: java.lang.ThreadGroup[name=main,maxpri=10]
测试线程线程名称:(0)是否处于活动状态: true
测试线程线程名称:(0)是否属于守护线程: false
返回当前线程线程名称:(4)的线程组中活动线程的数目: 6
返回该线程 线程名称:(4)的标识符: 14
返回线程 线程名称:(4)的优先级: 5
返回该线程线程名称:(4)的状态: RUNNABLE
返回当前线程线程名称:(1)的线程组中活动线程的数目: 6
返回该线程 线程名称:(1)的标识符: 11
返回线程 线程名称:(1)的优先级: 5
返回该线程线程名称:(1)的状态: RUNNABLE
返回该线程线程名称:(1)所属的线程组: java.lang.ThreadGroup[name=main,maxpri=10]
测试线程线程名称:(1)是否处于活动状态: true
测试线程线程名称:(1)是否属于守护线程: false
这是线程的名称: 线程名称:(3)
返回当前线程线程名称:(3)的线程组中活动线程的数目: 4
返回该线程 线程名称:(3)的标识符: 13
返回线程 线程名称:(3)的优先级: 5
返回该线程线程名称:(3)的状态: RUNNABLE
返回该线程线程名称:(3)所属的线程组: java.lang.ThreadGroup[name=main,maxpri=10]
返回该线程线程名称:(4)所属的线程组: java.lang.ThreadGroup[name=main,maxpri=10]
测试线程线程名称:(4)是否处于活动状态: true
测试线程线程名称:(4)是否属于守护线程: false
返回当前线程线程名称:(2)的线程组中活动线程的数目: 6
返回该线程 线程名称:(2)的标识符: 12
返回线程 线程名称:(2)的优先级: 5
返回该线程线程名称:(2)的状态: RUNNABLE
返回该线程线程名称:(2)所属的线程组: java.lang.ThreadGroup[name=main,maxpri=10]
测试线程线程名称:(2)是否处于活动状态: true
测试线程线程名称:(2)是否属于守护线程: false
测试线程线程名称:(3)是否处于活动状态: true
测试线程线程名称:(3)是否属于守护线程: false
版权声明:本文内容由互联网用户自发贡献,本社区不拥有所有权,也不承担相关法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:yqgroup@service.aliyun.com 进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
用云栖社区APP,舒服~
【云栖快讯】中办国办印发《推进互联网协议第六版(IPv6)规模部署行动计划》加快推进基于 IPv6 的下一代互联网规模部署,计划指出2025年末中国 IPv6 规模要达到世界第一,阿里云也第一时间宣布了将全面提供IPv6服务,那么在全面部署 IPV6 前,你需要了解都在这儿 详情请点击 评论文章 (0) (0) (0)