社区
Android
帖子详情
如何让主线程等待子线程获得网络数据后再继续运行?
RainMi_
2015-10-05 04:46:16
我想要从网络中获取数据,然后在ui中显示获得的数据,但是请求网络数据必须要在子线程中进行,而主线程貌似是不能暂停运行的,那么如何让主线程等待子线程获得网络数据后再继续运行?
...全文
703
10
打赏
收藏
如何让主线程等待子线程获得网络数据后再继续运行?
我想要从网络中获取数据,然后在ui中显示获得的数据,但是请求网络数据必须要在子线程中进行,而主线程貌似是不能暂停运行的,那么如何让主线程等待子线程获得网络数据后再继续运行?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
tcmakebest
2015-10-06
打赏
举报
回复
楼主让主线程等待,明显是在开历史的倒车啊.要知道会显示强制关闭的按钮的啊,难道这是可以接受的么 其实只要把主线程的相关功能按钮禁止就可以了,耐心等待强大的 Handler 收到消息, 但也要考虑万一没有消息来, 主线程可以优雅地退出.
阿飞__
2015-10-06
打赏
举报
回复
弄个接口回调撒,子线程执行完后就执行接口回调的方法
qq_31772099
2015-10-06
打赏
举报
回复
可以在主线程调用异步任务,新建类继承AsyncTask,在doInBackground(在子线程执行)方法下完成网络数据加载的工作,然后 doInBackground可以把获得的数据传给onPostExecute(在主线程执行)方法。在这里你就可以把数据回传给主线程了
leobert_lan
2015-10-06
打赏
举报
回复
如果说自己写这个模块的话,反问下版主为什么要让主线程等待,为什么要让主线程等待,为什么要让主线程等待。 1正是为了避免anr,才开子线程。 2让主线程一直显示一个progressbar之类的东西不能算严格的anr,哪怕它真的不鸟你。 版主想说的等待,我看应该是显示给用户一个提示进度的组件,并且在子线程处理结束后得到反馈,继而处理后续逻辑。显然,要使用message。
zhtoad
2015-10-06
打赏
举报
回复
我就记得 AsyncTask 可以实现这个功能
xiaohuanqi
2015-10-05
打赏
举报
回复
首先主线程是不可以等待的,不然就报ANR异常了,其次,子线程获取数据完毕直接发一个消息,使用Handler消息机制,告诉Handler去处理这个消息就达到你说的目的了,Hanlder就是在主线程中执行
microhex
2015-10-05
打赏
举报
回复
哥,主线程是不能等待的啊。。。
星灭
2015-10-05
打赏
举报
回复
不是那个,虽然不知道你怎么请求的,但很多框架都有封装好的网络请求方法,会有一个获取数据成功之后执行的方法,也能在这个方法里面修改主ui
RainMi_
2015-10-05
打赏
举报
回复
引用 1 楼 u013691865 的回复:
子线程获得数据不是有成功的回调方法吗?
你是说handler吗,handler也只会在sendMessage的时候被调用吧,没sendMessage之前,主线程和子线程依旧同时运行互不干扰啊
星灭
2015-10-05
打赏
举报
回复
子线程获得数据不是有成功的回调方法吗?
C#
主
线程
等待
子
线程
运行
结束
佐左佑右原文C#
主
线程
等待
子
线程
运行
结束 由于
主
程序中调用matlab的dll文件进行计算要用较长的时间,
主
界面会有很长时间的卡顿,造成的用户感受十分不好,因此我想在调用时,将调用放入
子
线程
中,然后在
主
线程
中弹出一个提示框,显示
数据
正在加载,等
子
线程
运行
结束后,
主
线程
继续
工作。 使用的是http://hi.baidu.com/okt...
Java多
线程
之以7种方式让
主
线程
等待
子
线程
结束(在
主
线程
中获取
子
线程
的
运行
时间)
记一次
主
线程
等待
子
线程
结束的多种方法的学习 在学习多
线程
时,最开始遇到的问题其实是“计算
子
线程
运行
时间”,写到最后发现本文和标题更为符合,但是仍然基于问题:“在
主
线程
中获取
子
线程
的
运行
时间”。 while循环 对于“
主
线程
如何获取
子
线程
总
运行
时间”的问题,最开始想到的是使用while循环进行轮询: Thread t = new Thread(() -> { //
子
线程
进行字符串连接操作 int num = 1000; String s = ""; for...
c++
主
线程
等待
子
线程
结束_
主
线程
等待
子
线程
结束的多种方法
程的
运行
时间”。while循环对于“
主
线程
如何获取
子
线程
总
运行
时间”的问题,最开始想到的是使用while循环进行轮询:Thread t = new Thread(() -> {//
子
线程
进行字符串连接操作int num = 1000;String s = "";for (int i = 0; i < num; i++) {s += "Java";}System.out.println(...
android
主
线程
等待
子
线程
,Android 使用handler实现
线程
间发送消息 (
主
线程
与
子
线程
之间)、(
子
线程
与
子
线程
之间)...
keyword:Android 使用handler实现
线程
间发送消息 (
主
线程
与
子
线程
之间)、(
子
线程
与
子
线程
之间)相信大家平时都有使用到异步
线程
往
主
线程
(UI
线程
)发送消息的情况。本文
主
要研究Handler的消息发送。包含
主
线程
往
子
线程
发送消息,
子
线程
之间互相发送消息。一、
主
线程
向
子
线程
发送消息。实现过程比較简单:
主
线程
发送消息到异步
线程
。异步
线程
接收到消息后在再发送一条消息给
主
线程
。1...
Java多
线程
-
主
线程
等待
子
线程
结束
最近有个项目需求是
线程
池
子
线程
进行
数据
处理、入库,所有
子
线程
运行
完成之后需要汇总
子
线程
运行
数据
。这里简单介绍一下
主
线程
等待
子
线程
结束的集中方式
Android
80,469
社区成员
91,382
社区内容
发帖
与我相关
我的任务
Android
移动平台 Android
复制链接
扫一扫
分享
社区描述
移动平台 Android
android
android-studio
androidx
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章