join()
来源:互联网 发布:织梦58公司 编辑:程序博客网 时间:2024/05/16 13:01
/** * join方法 * 允许当前线程在另一个线程上等待,进入阻塞状态,直到 * 另一个线程运行完毕,当前线程才会解除阻塞,继续执行。 * 通常用于协调两个线程同步工作使用。 * @author Administrator * */public class ThreadDemo2 { //标示图片下载状态 public static boolean isFinish = false; public static void main(String[] args) { //下载图片的线程 final Thread download = new Thread(){ public void run(){ System.out.println("download:开始下载图片"); for(int i=1;i<=100;i++){ System.out.println("download:已完成"+i+"%"); try { Thread.sleep(50); } catch (InterruptedException e) { } } System.out.println("download:下载图片完毕!"); isFinish = true; } }; Thread show = new Thread(){ public void run(){ System.out.println("show:开始显示图片!"); /* * 现在这里等待download将图片下载完毕! */ try { /* * 这里调用download.join()会使 * show线程进入阻塞状态,直到download * 线程执行完毕才会解除。 * * 当一个方法中的局部内部类中想引用当前方法的 * 其他局部变量,那么该变量必须被声明为final * 的。JDK8.0后不再需要。 */ download.join(); } catch (InterruptedException e) { } if(!isFinish){ throw new RuntimeException( "图片没有下载完毕!"); } System.out.println("show:显示图片完毕!"); } }; download.start(); show.start(); }}
0 0
- JOIN
- join
- join
- Join
- join
- join
- join
- join
- join
- join
- join
- JOIN
- Join
- join
- join()
- join
- join
- join
- 颜色模式
- maven项目发布到tomcat里lib包没有发布的问题
- HDU1087 Super Jumping! Jumping! Jumping!(动态规划,最大递增子段和)
- 一文读懂卷积神经网络
- fdoerror
- join()
- Codeforces 550C Divisibility by Eight【数学思维题】好题!
- APP测试要点
- Android 代码混淆
- 安装RPM到指定路径
- PHP 的get、post请求小记
- Android媒体
- 使用git来进行代码托管的注意点!!!
- R语言学习之简介