join 函数−
join方法可确保当前线程等待,直到应该与之连接的线程终止。 该函数等待直到调用该函数的线程终止。
final void join() throws InterruptedException
让我们看一个例子-
public class Demo extends Thread{ public void run(){ System.out.println("sample "); try{ Thread.sleep(10); } catch (InterruptedException ie){ } System.out.println("only "); } public static void main(String[] args){ Demo my_obj_1 = new Demo(); Demo my_obj_2 = new Demo(); my_obj_1.start(); System.out.println("第一个对象已创建并启动"); try{ System.out.println("在try块中,已使用join函数调用了第一个对象"); my_obj_1.join(); } catch (InterruptedException ie){ } System.out.println("第二个对象已启动"); my_obj_2.start(); } }
输出结果
第一个对象已创建并启动 在try块中,已使用join函数调用了第一个对象 sample only 第二个对象已启动 sample only
名为Demo的类扩展了Thread类。这里定义了一个“run”函数,其中定义了try-catch块。这里,在try块中,调用sleep函数,catch块为空。在main函数中,创建了Demo对象的两个实例。声明第一个对象,并使用“join”函数调用它。第二个对象也是如此,消息也相应地显示出来。