02 :线程状态和终止

1:线程的6中状态
    线程的状态在JavaThread类中有明确的定义,一共有6种:
     由于CPU调度的原因,Runnable状态有两种情况:1:运行中,2:CPU可以随时运行。
     如果一个线程已经运行结束了,你还调用 start()方法,会抛出异常。

  
2:如何终止一个正在运行的线程
    不正确的方法:
        1:JDK 不推荐使用 stop()方法终止线程,(stop :终止线程并且清除监控器锁的信息)JDK 不建议使用,因为会导致线程安全问题。
            强行中断了线程,导致线程任务没有安全的推出,可能导致数据的不一致性。
   2.1:推荐的方法:interrupt
                
        调用线程的Interrupt方法后。线程会安全终止,并且抛出一个异常。(实际上只是给线程设置一个中断标志,线程仍会继续运行。直到安全结束。)
                
2.1:通过标志位实现终止
                
 
        
 
 
 
 
 
 
 

猜你喜欢

转载自www.cnblogs.com/Xmingzi/p/12600987.html
今日推荐