JAVA面向对象学习——java多线程———控制线程——join() 方法——当在某个程序执行流中调用其他线程的join()方法时,调用线程将被阻塞,直到被join方法加入的join线程完成为止...

                              join线程

Thread提供了让一个线程等待另一个线程完成的方法:join() 方法。当在某个程序执行流中调用其他线程的join()方法时,调用线程将被阻塞,直到被join方法加入的join线程完成为止。

join()方法通常由使用线程的程序调用,以将大问题划分成许多小问题,每个小问题分配一个线程。当所有的小问题都得到处理后,再调用主线程来进一步操作。

 

public class JoinThread extends Thread
{
	// 提供一个有参数的构造器,用于设置该线程的名字
	public JoinThread(String name)
	{
		super(name);
	}
	// 重写run()方法,定义线程执行体
	public void run()
	{
		for (var i = 0; i < 100; i++)
		{
			System.out.println(getName() + "  " + i);
		}
	}
	public static void main(String[] args) throws Exception
	{
		// 启动子线程
		new JoinThread("新线程").start();
		for (var i = 0; i < 100; i++)
		{
			if (i == 20)
			{
				var jt = new JoinThread("被Join的线程");
				jt.start();
				// main线程调用了jt线程的join()方法,main线程
				// 必须等jt执行结束才会向下执行
				jt.join();
			}
			System.out.println(Thread.currentThread().getName()
				+ "  " + i);
		}
	}
}

public class JoinThread extends Thread
{

    public JoinThread(String name)
    {
        super(name);
    }

    public void run()
    {
        for (int i = 0; i < 100; i++)
        {
            System.out.println(getName() + "  " + i);
        }
    }
    public static void main(String[] args) throws Exception
    {

        new JoinThread("new-----").start();
        for (int i = 0; i < 100; i++)
        {
            if (i == 20)
            {
                JoinThread jt = new JoinThread("Join----");
                jt.start();
                jt.join();
            }
            System.out.println(Thread.currentThread().getName() + "  " + i);
        }
    }
}

下午 06:05:50: Executing task 'JoinThread.main()'...

> Task :compileJava
> Task :processResources NO-SOURCE
> Task :classes

> Task :JoinThread.main()


main 0
main 1
main 2
main 3
main 4
main 5
main 6
main 7
main 8
main 9
main 10
main 11
main 12
main 13
main 14
main 15
main 16
main 17
main 18
main 19
new----- 0
new----- 1
new----- 2
new----- 3
new----- 4
new----- 5
new----- 6
new----- 7
new----- 8
new----- 9
new----- 10
new----- 11
new----- 12
new----- 13
new----- 14
new----- 15
new----- 16
new----- 17
new----- 18
new----- 19
new----- 20
new----- 21
new----- 22
new----- 23
new----- 24
new----- 25
new----- 26
new----- 27
new----- 28
new----- 29
new----- 30
new----- 31
new----- 32
new----- 33
new----- 34
new----- 35
new----- 36
new----- 37
new----- 38
new----- 39
new----- 40
new----- 41
new----- 42
new----- 43
new----- 44
new----- 45
new----- 46
new----- 47
new----- 48
new----- 49
new----- 50
new----- 51
new----- 52
new----- 53
new----- 54
new----- 55
new----- 56
new----- 57
new----- 58
new----- 59
new----- 60
new----- 61
new----- 62
new----- 63
new----- 64
new----- 65
new----- 66
new----- 67
new----- 68
new----- 69
new----- 70
new----- 71
new----- 72
new----- 73
new----- 74
new----- 75
new----- 76
new----- 77
new----- 78
new----- 79
new----- 80
new----- 81
new----- 82
new----- 83
new----- 84
new----- 85
new----- 86
new----- 87
new----- 88
new----- 89
new----- 90
new----- 91
new----- 92
new----- 93
new----- 94
new----- 95
new----- 96
new----- 97
new----- 98
new----- 99
Join---- 0
Join---- 1
Join---- 2
Join---- 3
Join---- 4
Join---- 5
Join---- 6
Join---- 7
Join---- 8
Join---- 9
Join---- 10
Join---- 11
Join---- 12
Join---- 13
Join---- 14
Join---- 15
Join---- 16
Join---- 17
Join---- 18
Join---- 19
Join---- 20
Join---- 21
Join---- 22
Join---- 23
Join---- 24
Join---- 25
Join---- 26
Join---- 27
Join---- 28
Join---- 29
Join---- 30
Join---- 31
Join---- 32
Join---- 33
Join---- 34
Join---- 35
Join---- 36
Join---- 37
Join---- 38
Join---- 39
Join---- 40
Join---- 41
Join---- 42
Join---- 43
Join---- 44
Join---- 45
Join---- 46
Join---- 47
Join---- 48
Join---- 49
Join---- 50
Join---- 51
Join---- 52
Join---- 53
Join---- 54
Join---- 55
Join---- 56
Join---- 57
Join---- 58
Join---- 59
Join---- 60
Join---- 61
Join---- 62
Join---- 63
Join---- 64
Join---- 65
Join---- 66
Join---- 67
Join---- 68
Join---- 69
Join---- 70
Join---- 71
Join---- 72
Join---- 73
Join---- 74
Join---- 75
Join---- 76
Join---- 77
Join---- 78
Join---- 79
Join---- 80
Join---- 81
Join---- 82
Join---- 83
Join---- 84
Join---- 85
Join---- 86
Join---- 87
Join---- 88
Join---- 89
Join---- 90
Join---- 91
Join---- 92
Join---- 93
Join---- 94
Join---- 95
Join---- 96
Join---- 97
Join---- 98
Join---- 99
main 20
main 21
main 22
main 23
main 24
main 25
main 26
main 27
main 28
main 29
main 30
main 31
main 32
main 33
main 34
main 35
main 36
main 37
main 38
main 39
main 40
main 41
main 42
main 43
main 44
main 45
main 46
main 47
main 48
main 49
main 50
main 51
main 52
main 53
main 54
main 55
main 56
main 57
main 58
main 59
main 60
main 61
main 62
main 63
main 64
main 65
main 66
main 67
main 68
main 69
main 70
main 71
main 72
main 73
main 74
main 75
main 76
main 77
main 78
main 79
main 80
main 81
main 82
main 83
main 84
main 85
main 86
main 87
main 88
main 89
main 90
main 91
main 92
main 93
main 94
main 95
main 96
main 97
main 98
main 99

BUILD SUCCESSFUL in 788ms
2 actionable tasks: 2 executed
下午 06:05:51: Task execution finished 'JoinThread.main()'.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值