join(long millis)在jdk里是这样定义的等待该线程终止的时间最长为 millis
毫秒。超时为 0
意味着要一直等下去。直接看代码
public class JoinTest implements Runnable {
private static int a = 0;
public void run() {
while(a<10000000){
a++;
}
}
public static void main(String[] args) {
Thread t = new Thread(new JoinTest());
t.start();
System.out.println(a);
}
}
此处a将打印什么,在多线程环境中在t线程和主线程是同步执行的。所以在t执行到一部分的时候就执行了打印。接下来我们加入join的代码如下
public class JoinTest implements Runnable {
private static int a = 0;
public void run() {
while(a<10000000){
a++;
}
}
public static void main(String[] args) {
Thread t = new Thread(new JoinTest());
t.start();
try {
//t.sleep(1);
t.join(12); //////
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(a);
}
}
这里的join的意思就是将等待t线程执行12毫秒后再执行主线程。换言之就是加入join后将异步执行的线程变成了同步。
相关推荐
Java线程中wait、await、sleep、yield、join用法汇总,文章里面总结了这些关键字的用法,并且里面带有源码帮助分析用法,此一文就可以理解这些关键字用法,推荐拥有
多线程:在同一个时间做多件事 守护线程:如果在程序中将子线程设置为守护线程,则该子线程会在主线程结束时自动退出,设置方式为thread.setDaemon(True),要在thread.start()之前设置,默认是false的,也就是主线程...
下面小编就为大家带来一篇基于多线程中join()的用法实例讲解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
多线程机制 1 1、 Runnable接口与Thread类 1 2、 两个创建线程方法的比较 3 3、 几个常用的改变线程状态的方法 3 4、 线程的同步机制 8 ...10、 Callable结合FutureTask的多线程使用(免打扰模式) 24
主要介绍了C#多线程之Thread中Thread.Join()函数用法,实例分析了Thread.Join()方法的原理与使用技巧,非常具有实用价值,需要的朋友可以参考下
主要为大家详细介绍了Python多线程中阻塞join与锁Lock的使用误区,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
常见的多线程API和用法 pthread_self函数 pthread_create函数 pthread_exit函数 pthread_join函数 pthread_detach函数 pthread_equal函数
直接接入主题,在多线程开发的应用中,线程同步是不可避免的。在.Net框架中,实现线程同步主要通过以下的几种方式来实现,在MSDN的线程指南中已经讲了几种,本文结合作者实际中用到的方式一起说明一下。 1. 维护...
上面的代码解释 开启两个线程,“Thread 1”计算(100!)和“Thread 2”计算(100000!) 在main()方法中启动两个线程,然后调用thread1.join()和...下面就让我们使用IntelliJ IDEA工具来调试这段多线程的代码。
java Fork Join框架及使用,java自带的多线程框架,来处理多线程的问题
c++11多线程库的使用,主要介绍了thread类中的构造函数 join函数和detach函数的使用方式
某些场景下我们可以使用多线程来达到提高程序执行效率的目的,下面就多线程的一些基础知识做简要说明 简单的多线程 import threading, time def test1(x): time.sleep(5) print(x**x) #下面定义两个线程调用...
多用户情况下hash join算法的实现,英语版
如何使用多线程 如何得到多线程的一些信息 如何停止线程 如何暂停线程 线程的一些其他用法 在char02包里放置了Java对变量和对象并发访问的知识的代码。内容如下: 对于方法的同步处理 对于语句块的同步处理...
本文通过实例代码给大家实例介绍了Java多线程中关于join方法的使用,非常不错,具有参考借鉴价值,需要的朋友参考下
第3章 多线程(二) Java 高级程序设计 Java高级程序设计-多线程(二)全文共34页,当前为第1页。... 3.1.2 同步代码块的使用 Java中多线程中引入了同步监视器,使用同步监视器的常用方式是使用同步代码块,保
看完《think in java》多线程章节,自己写的多线程文档,还结合了其他的相关网络资料。 线程 一. 线程池 1)为什么要使用线程池 2 2)一个具有线程池的工作队列 3 3)使用线程池的风险: 4 4)有效使用线程池的原则 5...