导航:首页 > 编程语言 > java获取线程id

java获取线程id

发布时间:2022-04-27 15:43:53

java怎么得到当前线程的启动线程id

publicclass线程id

{

publicstaticvoidmain(String[]args)

{

System.out.println(" ==========多线程怎么查看当前线程id========== ");

init();

}//初始化!

privatestaticvoidinit()

{

for(inti=0;i<2;i++)

{

newThread(newTestRunnable()).start();

}

}

}

{

//简单测试直接用了静态,偷懒了!

privatestaticinti=10;

publicvoidrun()

{

show();

}

synchronizedvoidshow()

{

while(i>=1)

System.out.println("当前执行的线程Id是:"+Thread.currentThread().getName()+"---->"+i--+" ");

}

}

② java 多线程怎么查看当前线程id

publicclass线程id
{
publicstaticvoidmain(String[]args)
{
System.out.println(" ==========多线程怎么查看当前线程id========== ");
init();
}//初始化!
privatestaticvoidinit()
{
for(inti=0;i<2;i++)
{
newThread(newTestRunnable()).start();
}
}
}


{
//简单测试直接用了静态,偷懒了!
privatestaticinti=10;
publicvoidrun()
{
show();
}
synchronizedvoidshow()
{
while(i>=1)
System.out.println("当前执行的线程Id是:"+Thread.currentThread().getName()+"---->"+i--+" ");
}
}

③ 在java中可否使用线程名或其ID号获取其引用

其实你问的应该是为什么直接写Thread。

先看下api上如此写:

currentThread

public static Thread currentThread()

返回对当前正在执行的线程对象的引用。

可见这时个静态方法,你这么理解更好点:你在哪个线程调用的我(currentThread),我就给你返回哪个线程。跟父子其实没有关系的,你在父中调用我,我就返回你说的父线程,你在子调用我就返回子线程,你在main主线程调用,我就返回主线程。也就是说你cpu正在运行哪个线程。如图:

④ Java线程getID()的困惑

你用getName方法就是从0开始了,一个程序中还有其他线程在运行,例如执行main方法的主线程,垃圾回收机制啥的,所以你创建的这些线程不会是从0开始的。

⑤ Java如何获取正在运行的线程的Id

使用:Thread.currentThread().getName() 就可以了

比如会输出:pool-1-thread-7

⑥ JAVA根据线程ID,如何根据这个ID 停止一个线程

应该能通过ID拿到那个线程对象的吧。然后再通过改变循环条件就能停止线程。只要runnable里的循环停了线程也就停了。

⑦ 这段java 多线程代码为什么id是1的线程一直在等待

从代码来看,每个线程的o都不是同一个。1线程的o.wait()后,只执行了2线程的o.notifyAll()。所以1线程会一直处于等待中。如果要达到你的要求,修改构造函数,去掉o = new Object();这句。因为这句会在每次初始化一个新线程时,改变o的指向。

⑧ java中可以根据线程名而不是id获得想要的线程吗

可以的。
但是要先获取线程组,然后遍历线程组树,获取根线程组,然后再遍历所有线程,并分别判断所有的线程的id或者name,也就是说你可以通过id或者name来获取一个线程。

⑨ java 中thread 获取线程id为什么默认从10开始

源码中分析线程的id是从0开始的

⑩ Java 中怎么获取一份线程 mp 文件

当服务器挂起,崩溃或者性能底下时,就需要抓取服务器的线程堆栈(Thread Dump)用于后续的分析.

Thread mp提供了当前活动的线程的快照.它提供了JVM中所有Java线程的栈跟踪信息

有很多方式可用于获取Thread Dump,一些是操作系统特定的命令.


Windows:

1. 转向服务器的标准输出窗口并按下Control + Break组合键,之后需要将线程堆栈复制到文件中

UNIX/ Linux

首先查找到服务器的进程号(process id),然后获取堆栈.

1. ps –ef| grep java

2. kill -3 <pid>

注意一定要谨慎,一步不慎就可能让服务器进程被杀死!


JDK自带命令行工具获取PID并做ThreadDump:

1. jps

2.jstack <pid>

使用JVisualVM:

Threads标签页 →ThreadDump按钮


1. webLogic.Admin工具

a.打开命令提示符,通过运行<DOMAIN_HOME>/bin/setDomain.env设置相关类路径

b.执行下面的命令

java weblogic.Admin -url t3://localhost:7001 -username weblogic -password weblogic1 THREAD_DUMP

注意: Thread Dump会打印到标准输出,如nohup日志或者进程窗口.

2.使用 Admin Console

a.登录Admin Console ,点击对应的服务器

b.点击ServeràMonitoringàThreads

c.点击: Dump Thread Stack按钮

3.使用WLST (WebLogic Scripting Tool)

connect(‘weblogic’,'weblogic1’,’t3://localhost:7001’)

cd(‘Servers’)

cd(‘AdminServer’)

threadDump()

disconnect()

exit()

注意:线程堆栈将会保存在运行wlst的当前目录下.

4.使用utils.ThreadDumper

用法:

C:eawlserver_10.3serverlib>java -cp weblogic.jar utils.ThreadDumper

Broadcast Thread mps disabled: must specify weblogic.debug.mpThreadAddr and

weblogic.debug.mpThreadPort

Exception in thread "main" java.lang.IllegalArgumentException: Port out of range

:-1

at java.net.DatagramPacket.setPort(Unknown Source)

at java.net.DatagramPacket.<init>(Unknown Source)

at java.net.DatagramPacket.<init>(Unknown Source)

at utils.ThreadDumper.sendDumpMsg(ThreadDumper.java:124)

at utils.ThreadDumper.main(ThreadDumper.java:145)

5.如果服务器是作为Windows服务的方式运行,请运行下列命令:

WL_HOMEineasvc -mp -svcname:service-name


$JAVA_

阅读全文

与java获取线程id相关的资料

热点内容
大金空调摆动式压缩机 浏览:453
新的云服务器如何设置首页 浏览:687
javastring字符位置 浏览:196
银河麒麟字体库存在哪个文件夹 浏览:956
魔兽加丁服务器的航空叫什么 浏览:152
花冠改装案例哪个app多 浏览:515
成绩单app哪个好用 浏览:140
北美程序员vs国内程序员 浏览:181
php解析xml文档 浏览:121
石墨文档APP怎么横屏 浏览:185
墙主钢筋加密和非加密怎么看 浏览:144
金山区文件夹封套定制 浏览:708
soho程序员 浏览:672
java字节截取 浏览:526
php提交作业 浏览:815
房产还没解压可以办理赠予吗 浏览:224
java毫秒转分钟 浏览:753
模式识别中文pdf 浏览:774
c语言平均数字编译错误 浏览:171
单片机算交流 浏览:45