比如下载,起一个子线程去执行下载任务,主线程仍旧做自己的事情,当子线程完成了下载任务,则通过回调(策略模式、观察者模式)来通知主线程来执行会回调策略,这个过程中需注意:当异步回调返回到这个主线程时,这个主线程是否已经结束,不注意这点会崩溃的。且这个回调对象必须是static对象,即生命周期是整个应用程序,同时如果有多个子线程来完成各自的任务,那么就有执行的先后顺序和阻塞问题,因此一般需要一个阻塞队列(BlockingQueue)来管理这些子线程的运行和阻塞;这其实就是一个异步通信事件的最本质的东西了。
Android 异步
最新推荐文章于 2024-04-10 06:32:41 发布
本文介绍了如何使用子线程执行异步任务,如文件下载等,并确保主线程不会因等待而阻塞。讨论了通过回调机制通知主线程任务完成的方法,并提到了使用阻塞队列来管理子线程的重要性。
1145

被折叠的 条评论
为什么被折叠?



