Java 线程的join方法

 时间:2024-11-16 04:12:05

1、join()Waits for this thread to die.join(long millis)Waits at most millis milliseconds for this thread to die. A timeout of 0 means to wait forever.join(long millis, int nanos)Waits at most millis milliseconds plus nanos nanoseconds for this thread to die.上面是jdk中对join的三个函数的解释,join()是等待调用此方法的线程结束,join(long millis)是等待线程结束或等待millis毫秒,当millis=0时就相当于join()方法,join(long millis, int nanos)则是将等待的时间精确到十亿分之一秒。。简单说就是join方法是让别的线程等待调用该方法的线程执行完或者等待一定的时间。

2、在eclipse中新建一个java工程项目,创建类Main。工程目录及Main.java的内容如图。

Java 线程的join方法Java 线程的join方法Java 线程的join方法

3、Main类中有一个静态的printNum方法和一个main方法。在main方法中创建两个线程,分别为a和b。如图,在线程b中,线程a调用了join()方法,运行程序,控制台输出如图。线程b在线程a结束后才继续执行。

Java 线程的join方法Java 线程的join方法

4、接着如图将a.join()改为a.join(20)。运行程序,控制台输出如图。可以看到,加入时间限定后,线程b在线程a结束之前就开始执行了。

Java 线程的join方法

5、如图将a.join(20)改为a.join(200)。运行程序,控制台输出如图。线程b在线程a打印两个数后开始执行。说明线程b等待了线程a一定的时间。

Java 线程的join方法

6、最后如图给printNum加锁,运行程序,控制台输出如图。可以看到,加锁后,就算join()方法中加了时间限制,线程b仍得等待线程a执行完,释放锁后,才能继续执行。

Java 线程的join方法
  • 注册linkshare 方法 简易图示
  • Excel如何让用户定义的XLL函数在计算群集上运行
  • 火车头WordPress4.8X免登录发布接口
  • Source Insight识别自定义语言的宏
  • 安桥AV接收机TX-SR8250型使用说明书:[1]
  • 热门搜索
    凤凰山旅游攻略 惠州 旅游 去厦门旅游要多少钱 海南岛旅游攻略 北京旅游股票 适合冬天旅游的地方 三天旅游 徐州旅游攻略 福建 旅游 避暑山庄旅游