奥克玛项链
2015-10-26 07:47
采纳率: 60%
浏览 1.8k

Android线程间同步问题,实现主线程死等新线程处理结束

我的主线程是activity,在主线程里开启了线程R1,希望R1的任务处理完成后通知主线程继续,否则主线程一直等待,怎么实现?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • 黄途文 2015-10-26 08:24
    已采纳

    首先你这样的需求是违背android官方设计的,你应该考虑一下要实现你的功能,换一种需求(实现方式)是否可以。
    主线程负责呈现画面增强交互,不应该阻塞,非要实现这样的功能,
    可以在主线程是activity开启线程R1,然后什么事儿也不做,当R1的任务处理完成后通知主线程继续后再做事儿(绘制画面,注册事件等等)

    点赞 打赏 评论
  • 盼汕 2015-10-27 04:45

    你这里说的主线程,实际上就是UI线程,这个线程是不能阻塞的,否则会ANR。
    正确的做法是,当你起个线程R1时,UI线程显示个进度条,然后等R1处理完,UI线程取消进度条。
    推荐使用AsyncTask。要注意,对于界面的操作,都要在UI线程处理,不要在其他线程里处理。

    点赞 打赏 评论

相关推荐 更多相似问题