package day10;
/**
* 线程是异步运行的
* 异步:各执行各的,互不干涉
* 同步:有先后顺序的执行
*
* 有些业务需要让多个线程间同步运行,这时候可以借助
* 线程的join方法来完成
*
* join方法允许一个线程进入阻塞状态,直到其等待的另一个线程工作
* 结束后再继续运行
* @author soft01
*
*/
public class Thread_joio {
public static boolean isFinish = false;
public static void main(String[] args) {
final Thread download = new Thread(){
public void run(){
System.out.println("down:开始下载图片...");
for(int i=0;i<=100;i++){
System.out.println("down"+i+"%");
try{
Thread.sleep(50);
}catch(InterruptedException e){
e.printStackTrace();
}
}
System.out.println("down:图片下载完毕!");
isFinish = true;
}
};
Thread show = new Thread(){
public void run(){
System.out.println("show:开始显示图片...");
/*
* 先等待下载线程将图片下载完毕,再加载
*/
try{
download.join();
}catch(InterruptedException e){
e.printStackTrace();
}
if(!isFinish){
System.out.println("图片下载失败!");
}
System.out.println("show:显示图片完毕!");
}
};
download.start();
show.start();
}
}
JAVA学习day98--线程异步运行
最新推荐文章于 2022-03-08 00:49:34 发布