if(CoreDealingThread.this.getState().equals(Thread.State.TIMED_WAITING))用这种方法好像不行。

解决方案 »

  1.   

    不知道LZ是在什么情况下要判断线程是不是阻塞了了(suspend),好像没有什么直接的方法可以判断了。。suspend()方法不是不提议用的吗。
      

  2.   

    可我是为了方便,用了。
    这个线程有时被suspend,有时被resume,我现在想知道它是不是被suspend.
    按理说,这种判断的方式绝对是可行的。
    可不知为什么,就是不行。闷。
      

  3.   

    好像如果一个线程被suspend()后再调用
    System.Threading.Thread.Abort()方法
    就会报 ThreadAbortException异常。
    你可以通过这种方法判断一个线程是否被suspend()了
      

  4.   

    java.lang.Thread.State类详解public static enum Thread.Stateextends Enum<Thread.State>线程状态。线程可以处于下列状态之一: 1.NEW 
    至今尚未启动的线程的状态。 2.RUNNABLE 
    可运行线程的线程状态。处于可运行状态的某一线程正在 Java 虚拟机中运行,但它可能正在等待操作系统中的其他资源,比如处理器。3.BLOCKED 
    受阻塞并且正在等待监视器锁的某一线程的线程状态。处于受阻塞状态的某一线程正在等待监视器锁,以便进入一个同步的块/方法,或者在调用 Object.wait 之后再次进入同步的块/方法。 4.WAITING 
    某一等待线程的线程状态。某一线程因为调用下列方法之一而处于等待状态: 
    不带超时值的 Object.wait
    不带超时值的 Thread.joinLockSupport.park 
    处于等待状态的线程正等待另一个线程,以执行特定操作。 例如,已经在某一对象上调用了 Object.wait() 的线程正等待另一个线程,以便在该对象上调用 Object.notify() 或 Object.notifyAll()。已经调用了 Thread.join() 的线程正在等待指定线程终止。 5.TIMED_WAITING具有指定等待时间的某一等待线程的线程状态。某一线程因为调用以下带有指定正等待时间的方法之一而处于定时等待状态: 
    Thread.sleep
    带有超时值的 Object.wait
    带有超时值的 Thread.join
    LockSupport.parkNanos
    LockSupport.parkUntil6.TERMINATED 
    已终止线程的线程状态。线程已经结束执行。 
      

  5.   

    BLOCKED 你用错状态了吧??试试上面这个状态看看行不行。
      

  6.   

    BLOCKED  ////////////////////////////                    
      

  7.   

    原来SUSPEND之后,也还是RUNNING