博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java怎么查看线程id,Java 获取线程id
阅读量:6914 次
发布时间:2019-06-27

本文共 1361 字,大约阅读时间需要 4 分钟。

package com.company;

/*

*/

public class GetThreadTest extends Object implements Runnable {

private ThreadID var;

public GetThreadTest(ThreadID v) {

this.var = v;

}

public static void main(String[] args) {

ThreadID tid = new ThreadID();

GetThreadTest shared = new GetThreadTest(tid);

try {

Thread threadA = new Thread(shared, "threadA");

threadA.start();

Thread.sleep(500);

Thread threadB = new Thread(shared, "threadB");

threadB.start();

Thread.sleep(500);

Thread threadC = new Thread(shared, "threadC");

threadC.start();

} catch (InterruptedException x) {

}

}

public void run() {

try {

print("var getThreadID =" + var.getThreadID());

Thread.sleep(2000);

print("var getThreadID =" + var.getThreadID());

} catch (InterruptedException x) {

}

}

private static void print(String msg) {

String name = Thread.currentThread().getName();

System.out.println(name + ": " + msg);

}

}

class ThreadID extends ThreadLocal {

private int nextID;

public ThreadID() {

nextID = 10001;

}

private synchronized Integer getNewID() {

Integer id = new Integer(nextID);

nextID++;

return id;

}

protected Object initialValue() {

print("in initialValue()");

return getNewID();

}

public int getThreadID() {

Integer id = (Integer) get();

return id.intValue();

}

private static void print(String msg) {

String name = Thread.currentThread().getName();

System.out.println(name + ": " + msg);

}

}

转载地址:http://cnncl.baihongyu.com/

你可能感兴趣的文章
传统的MapReduce框架慢在那里
查看>>
Linux下修改Mysql的用户(root)的密码
查看>>
20个java异常处理最佳实践
查看>>
centos架设pptp服务:并测试windos客户端、Linux客户端!
查看>>
【c#】BackgroundWorker类的使用方法
查看>>
【NetApp】启用smb2.0
查看>>
001作业题
查看>>
关于实习
查看>>
叠加等边三角形
查看>>
【对拍√】
查看>>
重载,继承,重写,多态的区别
查看>>
NUnit笔记
查看>>
maven添加sqlserver的jdbc驱动包
查看>>
POJ 1426 Find The Multiple
查看>>
WPF入门教程系列五——Window 介绍
查看>>
数字图像处理中所用数学工具4---集合、逻辑操作与模糊集合
查看>>
网页换肤
查看>>
[BZOJ3751/NOIP2014]解方程
查看>>
【Java例题】3.5 级数之和
查看>>
silverlight多国语言研究
查看>>