Thread的 join方法

//copyright©liupengcheng
//http://www.cnblogs.com/liupengcheng

/**
* join
public final void join()
throws InterruptedException等待该线程终止。

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

//copyright©liupengcheng
//http://www.cnblogs.com/liupengcheng


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("苹果没了");
    }
}

//copyright©liupengcheng
//http://www.cnblogs.com/liupengcheng


class ThreadTest5 implements Runnable
{
    public void run()
    {
        for (int i = 1;i < 10;i++)
        {
            System.out.println(Thread.currentThread().getName()+"吃苹果"+(i));
        }
    }
}

//copyright©liupengcheng
//http://www.cnblogs.com/liupengcheng

/**
* 运行结果为
* 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进程争夺。
*/

//copyright©liupengcheng
//http://www.cnblogs.com/liupengcheng

转载于:https://www.cnblogs.com/liupengcheng/p/4047442.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值