网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

Java中join线程操作实例分析

本文实例讲述了Java中join线程操作。分享给大家供大家参考,具体如下:

成都创新互联公司专注于金凤企业网站建设,成都响应式网站建设,商城网站建设。金凤网站建设公司,为金凤等地区提供建站服务。全流程按需开发,专业设计,全程项目跟踪,成都创新互联公司专业和态度为您提供的服务

一 点睛

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

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

二 代码

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

三 运行结果

main  0
main  1
main  2
main  3
main  4
main  5
main  6
新线程  0
......
新线程  11
新线程  12
新线程  13
main  7
main  8
......
main  16
main  17
新线程  14
main  18
main  19
新线程  15
新线程  16
......
新线程  31
被Join的线程  0
新线程  32
被Join的线程  1
新线程  33
被Join的线程  2
新线程  34
被Join的线程  3
新线程  35
新线程  36
新线程  37
新线程  38
新线程  39
被Join的线程  4
被Join的线程  5
......
被Join的线程  13
被Join的线程  14
新线程  40
被Join的线程  15
被Join的线程  16
被Join的线程  17
新线程  41
新线程  42
被Join的线程  18
被Join的线程  19
......
被Join的线程  38
被Join的线程  39
新线程  43
新线程  44
新线程  45
被Join的线程  40
被Join的线程  41
被Join的线程  42
被Join的线程  43
新线程  46
新线程  47
新线程  48
......
新线程  60
新线程  61
被Join的线程  44
......
被Join的线程  98
被Join的线程  99
新线程  62
新线程  63
......
新线程  98
新线程  99
main  20
main  21
main  22
main  23

四 说明

1 程序开始是mian线程和新线程并发执行。

2 当i为20时,main线程开始等待“被Join的线程”执行完成,此时“被Join的线程”和“新线程”并发执行。

3 当“被Join的线程”执行完成,main线程继续运行,此时“main”和“新线程”并发执行。

更多java相关内容感兴趣的读者可查看本站专题:《Java进程与线程操作技巧总结》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》

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


名称栏目:Java中join线程操作实例分析
浏览地址:http://bjjierui.cn/article/jigghh.html

其他资讯