线程A调用线程B.join,意思就是线程A并入了线程B,当执行完线程B,再去执行线程A后续动作 join(int keepTims)>>带参数,与上面类似,区别在于线程B保持并入线程A中有保持时间,超过改时间,两线程再次分开 案例1 packagecom.wp.join;publicclassJoinTestimplementsRunnable {publicstaticinta = 0; @Overridepublicvoidrun(...
上面的isAlive()和wait()的函数对象是不一样的,isAlive对象是被调用的线程B,wait(0)的对象是对应的是正在执行的线程A。 另一个要注意的点是,线程的状态大致分为开始、就绪、运行、阻塞和死亡,isAlive()仅在就绪或者运行时算作真,故未start的线程join无效。 下面举个例子 设置两个线程类 ,并在一个子线程中...
输出如下 我们分析一下,两段代码只有一行不一样。第一段是t.join(),会让当前线程(例子中为主线程)一直等待,知道t结束; 第二段是t.join(1000),会让当前线程等待1000毫秒,之后继续。