㈠ 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获得想要的线程吗
可以的。
但是要先获取线程组,然后遍历线程组树,获取根线程组,然后再遍历所有线程,并分别判断所有的线程的id或者name,也就是说你可以通过id或者name来获取一个线程。
㈢ java怎么查看和修改线程名称
Thread.currentThread().getName();//获取当前线程名称
Thread.currentThread().setName("");//设置当前线程名称
㈣ Java如何获取正在运行的线程的名称
获取线程名字这件事情本质上和Runnable是没有关系的。一个Runnable可以给多个线程去运行,所以如果在这个概念上你有误解的话,希望重新考虑一下。
另外,在任何时候,你都可以用Thread.currentThread().getName()来获取当前线程的名字
㈤ java中如何启动一个新的线程
java开启新线程的三种方法:
方法1:继承Thread类
1):定义一个继承自Java.lang.Thread类的类A.
2):覆盖A类Thread类中的run方法。
3):我们编写需要在run方法中执行的操作:run方法中的代码,线程执行体。
4):在main方法(线程)中,创建一个线程对象并启动线程。
(1)创建线程类对象:
A类 a = new A类();
(2)调用线程对象的start方法:
a.start();//启动一个线程
注意:不要调用run方法。如果run方法被称为对象调用方法,则仍然只有一个线程,并且没有启动新线程。
创建启动线程实例:
(5)java获取线程的名字扩展阅读:
启动新线程的两种方式对比
继承方式:
1):从设计上分析,Java中类是单继承的,如果继承了Thread了,该类就不能再有其他的直接父类了.
2):从操作上分析,继承方式更简单,获取线程名字也简单.(操作上,更简单)
3):从多线程共享同一个资源上分析,继承方式不能做到.
实现方式:
1):从设计上分析,Java中类可以多实现接口,此时该类还可以继承其他类,并且还可以实现其他接口,设计更为合理.
2):从操作上分析,实现方式稍微复杂点,获取线程名字也比较复杂,得使用Thread.currentThread()来获取当前线程的引用.
3):从多线程共享同一个资源上分析,实现方式可以做到(是否共享同一个资源).
补充:实现方式获取线程名字:
String name = Thread.currentThread().getName();
㈥ java中的thread.current().getname()的意思
简单来说Thread是线程的意思.
current()是个静态方法.意思是返回当前执行这段代码的线程,
在我们写的程序中,无论你写的什么程序,都是被拿来执行的(说了句废话),
但,执行他的是谁,你简单理解就可以,理解成是线程来执行的.
等你以后深入学习了就知道这句话不全对.
但对你初学者来说.这样理解就行了.
继续上面的问题.
Thread.current().getName();
意思就是,获取当前执行这段代码的线程的名字.
㈦ Java如何获取正在运行的线程的Id
使用:Thread.currentThread().getName() 就可以了
比如会输出:pool-1-thread-7
㈧ java 根据线程名字查询一个线程,能实现吗
根据线程名称找到线程,在java中是可以实现的,实现步骤是:
1、首先获取Java VM中当前运行的所有线程
以下代码是用数组返回Java VM中当前运行的所有线程
publicstaticThread[]findAllThreads()
{
ThreadGroupgroup=Thread.currentThread().getThreadGroup();
ThreadGrouptopGroup=group;
/*遍历线程组树,获取根线程组*/
while(group!=null)
{
topGroup=group;
group=group.getParent();
}
/*激活的线程数加倍*/
intestimatedSize=topGroup.activeCount()*2;
Thread[]slackList=newThread[estimatedSize];
/*获取根线程组的所有线程*/
intactualSize=topGroup.enumerate(slackList);
/*intoalistthatistheexactsize*/
Thread[]list=newThread[actualSize];
System.array(slackList,0,list,0,actualSize);
return(list);
}
2、遍历线程,比对名称,找到需要寻找的线程
以下代码可得到线程的名称
Stringname=thread.getName();