02 :线程状态和终止

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

 

 

 

  
2:如何终止一个正在运行的线程
    不正确的方法:
        1:JDK 不推荐使用 stop()方法终止线程,(stop :终止线程并且清除监控器锁的信息)JDK 不建议使用,因为会导致线程安全问题。
            强行中断了线程,导致线程任务没有安全的推出,可能导致数据的不一致性。
   2.1:推荐的方法:interrupt
                

 

        调用线程的Interrupt方法后。线程会安全终止,并且抛出一个异常。(实际上只是给线程设置一个中断标志,线程仍会继续运行。直到安全结束。)
                
2.1:通过标志位实现终止
                

 

 

 
        
 
 
 
 
 
 
 

posted on 2020-03-30 20:40  笑明子  阅读(167)  评论(0编辑  收藏  举报

导航