java 子线程 回调 主线程

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 子线程 回调 主线程相关的知识,希望对你有一定的参考价值。

我在创建一个对象的时候,那个对象的构造函数要执行好长时间,我单开了一个线程进行加载,并且屏幕上显示动画表示正在等待,那么如何才能在新的线程结束的时候用主线程去调用函数呢

如果主线程要等子线程完成才能继续执行又何必新开线程如果你非要这么干,java.util.concurrent.Future接口满足你的需求,具体用法百度
Future 接口
Future 接口允许表示已经完成的任务、正在执行过程中的任务或者尚未开始执行的任务。通过 Future 接口,可以尝试取消尚未完成的任务,查询任务已经完成还是取消了,以及提取(或等待)任务的结果值。
FutureTask 类实现了 Future,并包含一些构造函数,允许将 Runnable 或 Callable(会产生结果的 Runnable)和 Future 接口封装。因为 FutureTask 也实现 Runnable,所以可以只将 FutureTask 提供给 Executor。一些提交方法(如 ExecutorService.submit())除了提交任务之外,还将返回 Future 接口。
Future.get() 方法检索任务计算的结果(或如果任务完成,但有异常,则抛出 ExecutionException)。如果任务尚未完成,那么 Future.get() 将被阻塞,直到任务完成;如果任务已经完成,那么它将立即返回结果。
参考技术A 为什么不用wait() 和notify()

以上是关于java 子线程 回调 主线程的主要内容,如果未能解决你的问题,请参考以下文章

多线程

多线程经典问题2——子线程之间交替问题

java 多线程子线程唤醒主线程问题

android 子线程使用handle修改主线线程内容

java 子线程 回调 主线程

线程进程概述