package cn.mayday.test;

 public class JoinTest {

     public static void main(String[] args) {

         try {

             int count = 50;
// while (count > 1) { Thread thread1 = new Thread(
new Runnable() {
public void run() { try {
System.out.println("+++++ 1111 start ++++");
Thread.sleep(10000);
System.out.println("+++++ 1111 end ++++");
} catch (Exception e) {
System.out.println("Exception 1111 = " + e);
}
}
}
);
thread1.start(); Thread thread2 = new Thread(
new Runnable() {
public void run() {
try {
System.out.println("+++++ 2222 start ++++");
Thread.sleep(10000);
System.out.println("+++++ 2222 end ++++"); } catch (Exception e) {
System.out.println("Exception 2222 = " + e);
}
}
}
);
thread2.start(); thread1.join();
System.out.println("++++++++++++ thread1111 join end ++++++++++++"); thread2.join();
System.out.println("++++++++++++ thread2222 join end ++++++++++++"); Thread.sleep(1000);
// } } catch (Exception e) {
System.out.println("Exception = " + e);
} }
}

【总结】:从结果可以看出,主线程在线程1和线程2 join本身不阻塞,当时需要main线程做得动作全部阻塞

摘自

Sleep-Join方法理解的更多相关文章

  1. java基础知识回顾之java Thread类学习(十一)--join方法的理解

    以下面例子说明下面的源码:main 线程 和 A线程,A线程是main线程创建并且启动的,main线程优先级比较高,正在执行:这个时候main线程调用A.join()之后,main线程一直等待,直到A ...

  2. Thread线程join方法自我理解

    Thread线程join方法自我理解 thread.join():等待thread线程运行终止,指的是main-thread(main线程)必须等待thread线程运行结束,才能继续thread.jo ...

  3. C#中Thread类中Join方法的理解(转载)

    指在一线程里面调用另一线程join方法时,表示将本线程阻塞直至另一线程终止时再执行      比如 using System; namespace TestThreadJoin { class Pro ...

  4. 转载:Java多线程中join方法的理解

    转载自:http://uule.iteye.com/blog/1101994 thread.Join把指定的线程加入到当前线程,可以将两个交替执行的线程合并为顺序执行的线程.比如在线程B中调用了线程A ...

  5. Java中join()方法的理解

    thread.Join把指定的线程加入到当前线程,可以将两个交替执行的线程合并为顺序执行的线程. 比如在线程B中调用了线程A的Join()方法,直到线程A执行完毕后,才会继续执行线程B. t.join ...

  6. Java多线程中join方法的理解

    thread.Join把指定的线程加入到当前线程,可以将两个交替执行的线程合并为顺序执行的线程.比如在线程B中调用了线程A的Join()方法,直到线程A执行完毕后,才会继续执行线程B. t.join( ...

  7. join方法个人理解

    首先抛出对join的疑问 如果我有一个a线程,一个b线程 那此时 a.start(); b.start(); a.join(); b.join(); 是否意思是a线程先执行完,然后再执行b线程; 如果 ...

  8. 【多线程】java多线程 测试例子 详解wait() sleep() notify() start() join()方法 等

    java实现多线程,有两种方法: 1>实现多线程,继承Thread,资源不能共享 2>实现多线程  实现Runnable接口,可以实现资源共享 *wait()方法 在哪个线程中调用 则当前 ...

  9. JAVA join()方法

    转自:http://www.open-open.com/lib/view/open1371741636171.html 一.为什么要用join()方法 在很多情况下,主线程生成并起动了子线程,如果子线 ...

  10. Java Thread.join()方法

    一.使用方式. join是Thread类的一个方法,启动线程后直接调用,例如: Thread t = new AThread(); t.start(); t.join(); 二.为什么要用join() ...

随机推荐

  1. 【VS开发】winsock 错误多 windows.h和winsock2.h的顺序

    Windows平台下用C++做网络开发很多时候都会同时包含这两个头文件,如若顺序不当(windows.h先于winsock2.h)就会出现很多莫名其妙的错误.诸如: c:\program files ...

  2. Java学习笔记-设计模式

    常见设计模式有23种,设计模式是解决某一类问题最行之有效的方法 单例设计模式 解决一个类在内存中只存在一个对象 思想 为了避免其他程序过多建立该类对象.先禁止其他程序建立该类对象 还为了让其他程序可以 ...

  3. IIS 6.0的web园 最大工作进程数细谈

    这篇文章主要介绍了IIS 6.0的web园 最大工作进程数,需要的朋友可以参考下:(摘自:http://www.jb51.net/article/84817.htm) IIS 6.0允许将应用程序池配 ...

  4. 将raspberry 3B+的apt替换为国内源

    前段时间买了一块树莓派,想着自己拿来玩一下下(没什么钱烧更好的硬件,只能玩这个了,好在还够玩).于是就折腾起来,装了raspberry的系统. 这时候,因为默认apt是国外的源,在GFW这种神奇东西的 ...

  5. JavaSE基础(七)--Java流程控制语句之switch case 语句

    Java switch case 语句 switch case 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支. 语法 switch case 语句语法格式如下: switch(exp ...

  6. poj2826(细节,计算几何)

    题目链接:https://vjudge.net/problem/POJ-2826 题意:平面中摆两根木棍,雨水从上垂直下落,问木棍中能乘多少水. 思路: 细节很多,坑QAQ.. 首先不相交时肯定为0. ...

  7. lua语法介绍(二)

    一.语法简要 在学习任何语法之前,我们都需要知道该门语言是怎样定义的,是怎样运行的,话说白了,就是到了人家的山头得唱人家山头的歌.下面介绍lua的语法 1.变量的定义 特点: 1.变量在使用前必须声明 ...

  8. Prime Number(CodeForces-359C)【快速幂/思维】

    题意:已知X,数组arr[n],求一个分式的分子与分母的最大公因数.分子为ΣX^arr[i],分母为X^Σarr[i],数组为不递减序列. 思路:比赛的时候以为想出了正确思路,WA掉了很多发,看了别人 ...

  9. 网络流+最小生成树的最少割边数--How Many to Be Happy?

    题意:https://blog.csdn.net/Ratina/article/details/95200594 思路: 首先我们知道最小生成树就是按长度枚举边,能连就连. 那么,如果这条边在最小生成 ...

  10. print() 默认是打印完字符串会自动添加一个换行符

    可以使用end="  " 参数告诉 print() 用空格代替换行 for i in range(1,10): ... print(i,end=' ') ... 1 2 3 4 5 ...