美文网首页
join使用-模拟下载和显示同步问题

join使用-模拟下载和显示同步问题

作者: ssttIsme | 来源:发表于2019-03-24 14:57 被阅读0次

现有两个线程,要求必须下载完成之后才能显示

在jdk1.8之前,局部内部类中如果调用外部方法的局部变量,这个变量一定是final修饰的,但是从jdk1.8开始,局部内部类中可以直接调用外部方法的局部变量不用final修饰。


/**
 * 有两个线程,一个用于下载,一个用于显示
 * 这两个线程间是有顺序执行的
 */
public class MockDownAndShow {
    public static void main(String[] args) {
        final Thread downloadThread=new Thread("下载线程"){
            @Override
            public void run() {
                System.out.println("开始下载。。。");
                for(int i=0;i<=100;i+=10){
                    System.out.println("已下载"+i+"%");
                }
                System.out.println("下载完成。。。");
            }
        };
        
        Runnable show=new Runnable() {
            
            @Override
            public void run() {
                System.out.println("开始加载图片");
                try {
                    downloadThread.join();
                } catch (InterruptedException e) {
                    System.out.println("下载失败!");
                    e.printStackTrace();
                    return;
                }
                System.out.println("显示图片成功!");
            }
        };
        Thread showThread=new Thread(show,"图片显示线程");
        downloadThread.start();
        showThread.start();
    }
}

运行结果

开始加载图片
开始下载。。。
已下载0%
已下载10%
已下载20%
已下载30%
已下载40%
已下载50%
已下载60%
已下载70%
已下载80%
已下载90%
已下载100%
下载完成。。。
显示图片成功!

相关文章

  • join使用-模拟下载和显示同步问题

    现有两个线程,要求必须下载完成之后才能显示 在jdk1.8之前,局部内部类中如果调用外部方法的局部变量,这个变量一...

  • MySQL - join

    join使用问题 DBA 不让使用 join,使用 join 有什么问题呢; 如果有两个大小不同的表做 join,...

  • J.U.C-Fork/Join

    充分利用线程进行并行计算,通过双端队列进行运算 局限性: 任务只能使用Fork和Join进行同步,如果使用其他同步...

  • hive解决数据倾斜应知应会(2020-03-10)

    解决数据倾斜问题 join 小表join大表使用mapjoin 大表join大表使用skewinjoin null...

  • reveal 教程

    为什么要用reveal,以及扯淡 reveal下载和安装,以及安装遇到的问题 模拟器和真机如何使用reveal调试...

  • 面试题目总结

    手写深度比较,模拟lodash中的isEqual split和join split:字符串转数组 join:数组转...

  • 小程序反编译,获取前端代码

    1,下载一个模拟器(需要自带ROOT),大部分使用的是夜神模拟器 2,在模拟器上下载微信和RE文件管理器 3,下载...

  • 线程学习之——线程同步(守护线程和join)

    目录1、介绍setDaemon以及案例辅助理解,作为线程同步的问题引入2、介绍join(线程同步) 1、例子一:当...

  • 34讲到底可不可以使用join

    1 两个问题我们DBA不让使用join,使用join有什么问题呢?如果有两个大小不同的表做join,应该用哪个表做...

  • 文件同步系统

    使用curl模拟POST,A服务器从数据库中遍历文件POST到B服务器,创建相应路径文件。 1、显示同步进度。 2...

网友评论

      本文标题:join使用-模拟下载和显示同步问题

      本文链接:https://www.haomeiwen.com/subject/yljuvqtx.html