Java多线程之Join方法阻塞线程
package org.study2.javabase.ThreadsDemo.status; /**
* @Auther:GongXingRui
* @Date:2018/9/19
* @Description: 阻塞进程方法Join
**/
public class ThreadJoin {
public static void main(String args[]) throws InterruptedException {
JoinDemo demo = new JoinDemo();
Thread t = new Thread(demo);
t.start(); for (int i = 0; i < 21; i++) {
if (i == 10) {
// 阻塞main进程,执行线程
t.join();
}
System.out.println("main执行中: " + i);
Thread.sleep(100);
}
}
} class JoinDemo implements Runnable {
@Override
public void run() {
for (int i = 0; i < 21; i++) {
System.out.println("线程执行中: " + i);
try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
Java多线程之Join方法阻塞线程的更多相关文章
- Java多线程之sleep方法阻塞线程-模拟时钟
package org.study2.javabase.ThreadsDemo.status; import java.text.SimpleDateFormat; import java.util. ...
- java多线程之join方法使用
看这篇博客:http://www.cnblogs.com/skywang12345/p/3479275.html
- 多线程之join方法
join方法的功能就是使异步执行的线程变成同步执行.也就是说,当调用线程实例的start方法后,这个方法会立即返回,如果在调用start方法后后需要使用一个由这个线程计算得到的值,就必须使用join方 ...
- java基础---->java多线程之Join(二)
如果主线程想等待子线程执行完成之后再结束,就可以使用join方法了.它的使用是等待线程对象销毁.今天我们就通过实例来学习一下多线程中join方法的使用.草在结它的种子,风在摇它的叶子.我们站着,不说话 ...
- Java多线程之join
1.join方法只有在继承了Thread类的线程中才有. 2.线程必须要start() 后再join才能起作用. 将另外一个线程join到当前线程,则需要等到join进来的线程执行完才会继续执行当前线 ...
- java多线程之yield()方法详解
yiled()方法的作用是放弃当前CPU的资源,将资源让给其它线程,但放弃的时间不确定,有可能刚刚放弃,又马上获得了CPU时间片.下面看一个小例子,看一下具体效果. public stati ...
- java多线程之yield,join,wait,sleep的区别
Java多线程之yield,join,wait,sleep的区别 Java多线程中,经常会遇到yield,join,wait和sleep方法.容易混淆他们的功能及作用.自己仔细研究了下,他们主要的区别 ...
- JAVA多线程之UncaughtExceptionHandler——处理非正常的线程中止
JAVA多线程之UncaughtExceptionHandler——处理非正常的线程中止 背景 当单线程的程序发生一个未捕获的异常时我们可以采用try....catch进行异常的捕获,但是在多线程环境 ...
- java多线程之:线程对象一些api
一:wait()方法,wait(long timeout)--->锁对象调用wait()方法,让当前线程小a进入等待状态,阻塞住,并让出当先线程拥有的锁.--->直到其他线程用锁对象调用n ...
随机推荐
- 2-jsp简介
一.什么是jsp:1.只能运行在服务器中2.可以将java代码嵌入html页面中的技术 补充:在eclipse中修改jsp的创建模板 window--preference--web--jsp file ...
- pip install报错Can't roll back cryptography; was not uninstalled
当使用pip install或者pip install --upgrade报错 Can't roll back cryptography; was not uninstalled 可以进行以下的尝试: ...
- 用Python实现大文件分割
python代码如下: import sys,os kilobytes = 1024 megabytes = kilobytes*1000 chunksize = int(200*megabytes) ...
- [翻译] .NET Standard 2.1 公布
[翻译] .NET Standard 2.1 公布 原文: Announcing .NET Standard 2.1 校对: Cloud 自从大约一年前发布 .NET Standard 2.0以来,我 ...
- [C# ASP.NET]如何让IIS Express支持外部(局域网)连接
声明:本文为www.cnc6.cn原创,转载时请注明出处,谢谢! 一.搭建环境: 1.系统:Win10 1809 2.IDE:Visual Studio 2017 3.Framework: 4.6.1 ...
- hdu3790 dijkstra+堆优化
题目来源:http://acm.hdu.edu.cn/showproblem.php?pid=3790 分析:dijkstra没有优化的话,复杂度是n*n,优化后的复杂度是m*logm,n是顶点数,m ...
- c++入门之—运算符重载和友元函数
运算符重载的意义是:将常见的运算符重载出其他的含义:比如将*重载出指针的含义,将<<与cout联合使用重载出输出的含义,但需要认识到的问题是:运算符的重载:本质仍然是成员函数,即你可以认为 ...
- ubuntu中搭建svn服务器步骤
1.安装软件包: sudo apt-get install subversion 2.建立相关文件夹(这里svn放在home文件夹中) cd /home sudo mkdir svn cd /home ...
- Elasticsearch 5.0Head插件
Elasticsearch 5.0 —— Head插件部署指南 使用ES的基本都会使用过head,但是版本升级到5.0后,head插件就不好使了.下面就看看如何在5.0中启动Head插件吧! 官方 ...
- 【转】linux if 判断
UNIX Shell 里面比较字符写法: -eq 等于-ne 不等于-gt 大于-lt 小于-le 小于等于-ge 大于等于-z 空串= 两个字符相等!= ...