我有一个扩展Thread的类。
我将在某个时候启动线程。
一段时间后,我需要检查该线程是否已经启动?
这样我就可以在该特定点启动线程。
我的线程类将是,
public class BasicChatListener extends Thread{
public void run(){
}
}
我需要知道某个类的特定线程BasicChatListener
是否正在运行?因为我的应用程序中已经有多个线程正在运行。
我们的堆栈成员将如何帮助我。
我有一个扩展Thread的类。
我将在某个时候启动线程。
一段时间后,我需要检查该线程是否已经启动?
这样我就可以在该特定点启动线程。
我的线程类将是,
public class BasicChatListener extends Thread{
public void run(){
}
}
我需要知道某个类的特定线程BasicChatListener
是否正在运行?因为我的应用程序中已经有多个线程正在运行。
我们的堆栈成员将如何帮助我。
您可以使用Thread.getState()并使用相应的states。
请注意,当您阅读此状态时,它可能已经发生了变化,但您可能能够确定一些感兴趣的东西。查看此状态图以了解可用的转换。
if (Thread.currentThread().isAlive())
JavaDoc 说:
测试此线程是否存在。如果线程已启动且尚未死亡,则该线程处于活动状态。
或者,使用Thread#getState()作为
Thread.State currState = Thread.currentThread().getState();
if (currState != Thread.State.NEW && currState != Thread.State.TERMINATED)
JavaDoc 说:
返回此线程的状态。此方法设计用于监控系统状态,而不是用于同步控制。
你可以用isAlive检查它..
isAlive
测试这个线程是否还活着。如果线程已启动且尚未死亡,则该线程处于活动状态。
我使用此代码Thread.isAlive()
Thread.isAlive()可以确定线程是否正在运行。
测试此线程是否存在。如果线程已启动且尚未死亡,则该线程处于活动状态。
线程#getState() ; 可以返回线程的确切状态。
返回此线程的状态。此方法设计用于监控系统状态,而不是用于同步控制。