多线程---其他方法 停止线程、守护线程、join方法

第三方停止线程:

原来是stop(),因为该方法有些问题,所以被interrupt()方法取代,它的用途跟机制是

当没有指定的方式让冻结的线程恢复到运行状态时,这时需要对冻结进行清除,强制让线程恢复到运行状态中来,这样就可以让操作标记来结束线程。

Thread类提供了interrupt()方法。

 守护线程:

线程对象.setDaemon();该方法表示,前台线程(主线程) 一结束,后台线程(后台运行线程)立即结束。

Join方法:

等待该线程终止。就是说在主线程运行时候,读到了该线程的开始阶段,也就是在start()之后又对该线程进行了join()方法,那么就代表了该线程申请加入到运行中来,也就是

该线程要CPU的执行权。,抢夺CPU执行权。此时的主线程就处于冻结状态,当该线程执行完毕之后,主线程才获得执行权。

PS:当A线程执行到B线程的.join()方法时,A就会等待。等B线程都执行完,A才会执行。

      join可以用来临时加入线程执行。同时当B线程出现了await,这时候就应该用到interrupt方法了。

原文地址:https://www.cnblogs.com/kevinfuture/p/4286218.html