java的isAlive 和 join

Python014

java的isAlive 和 join,第1张

join()用于停止当前线程而运行别的线程。

isAlive()用于测试线程的状态,即是否活着。

假设有线程:th1,th2且th2为当前正运行的线程。

当调用th1.join()时,便停止th2,直到th1执行完毕才又执行th2。

当调用th2.isAlive()时,如果返回true则说明th2还活着,即已启动但未结束。如果返回false则说明该线程已dead,即终止。

假设你在main线程中执行如上代码,当程序执行到threadB.jion()方法,会让main线程阻塞,(即threadB.jion()后面的代码暂停执行,因此threadC无法执行到),直到threadB线程执行完毕,jion的优先仅仅对调用线程main有效。因为你在调用b线程时a线程已经开始执行,所以a和b是一起执行的。