欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java之Thread的join方法实例

程序员文章站 2024-02-29 13:41:16
本文实例讲述了java之thread的join方法。分享给大家供大家参考。具体实现方法如下: join public final void join() thro...

本文实例讲述了java之thread的join方法。分享给大家供大家参考。具体实现方法如下:

join
public final void join()
throws interruptedexception等待该线程终止。

抛出:
interruptedexception - 如果任何线程中断了当前线程。当抛出该异常时,当前线程的中断状态 被清除。
 
下面的例子 通俗的讲,就是a调用join方法后,只有等a所在的线程不再运行,才会将进程分配出去

复制代码 代码如下:
public class jointhread {
    public static void main(string [] args) throws exception{
        threadtest5 t = new threadtest5();
        thread a = new thread(t);
        thread b = new thread(t);
        a.start();
        a.join();         //此处a调用 thread的join方法,主函数将线程分配给a,当a运行完毕后,才会将线程释放出去。给其他的对象。
        b.start();
        for (int i = 1;i < 20;i++)
        {
            system.out.println("树上掉苹果"+ i);
        }
        system.out.println("苹果没了");
    }
}

class threadtest5 implements runnable
{
    public void run()
    {
        for (int i = 1;i < 10;i++)
        {
            system.out.println(thread.currentthread().getname()+"吃苹果"+(i));
        }
    }
}

运行结果为:

thread-0吃苹果1
thread-0吃苹果2
thread-0吃苹果3
thread-0吃苹果4
thread-0吃苹果5
thread-0吃苹果6
thread-0吃苹果7
thread-0吃苹果8
thread-0吃苹果9
树上掉苹果1
树上掉苹果2
树上掉苹果3
树上掉苹果4
树上掉苹果5
树上掉苹果6
thread-1吃苹果1
树上掉苹果7
thread-1吃苹果2
树上掉苹果8
thread-1吃苹果3
树上掉苹果9
thread-1吃苹果4
树上掉苹果10
thread-1吃苹果5
树上掉苹果11
thread-1吃苹果6
thread-1吃苹果7
thread-1吃苹果8
thread-1吃苹果9
树上掉苹果12
树上掉苹果13
树上掉苹果14
树上掉苹果15
树上掉苹果16
树上掉苹果17
树上掉苹果18
树上掉苹果19
苹果没了

thread-0 值得就是a所在的线程,当a所在的线程运行完毕后,之后的线程由main主函数和b进程争夺。

希望本文所述对大家的java程序设计有所帮助。