• 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()'.

  • 相关阅读:
    php----爬虫(爬取豆瓣演员信息,搜索页)遇到的问题
    python-写爬虫时遇到的问题 TimeoutError: [WinError 10060]
    聚沙成塔
    买手机,继续纠结中
    问题不绕弯,死磕
    死磕,死磕死磕
    学而不践则罔
    越是忙的时候,兴趣越多
    周末小总结
    幸福和需求
  • 原文地址:https://www.cnblogs.com/xiaobaibailongma/p/16063787.html
Copyright © 2020-2023  润新知