到此我们知道AsyncTask的execute的执行流程为 先调用ThreadPoolExecutor.execute(mFuture); 然后ThreadPoolExecutor.execute(mFuture) 会调用ThreadPoolExecutor.addWorker(mFuture); 最后ThreadPoolExecutor.addWorker(mFuture)会调用mFuture的run()方法,run方法中就是该线程要执行操作的地方 到此我们来关注一下mFuture,AsyncTask中的mFuture是一个FutureTask,FutureTask实现了Future<V>, Runnable两个接口, Future 表示异步计算的结果。它提供了检查计算是否完成的方法,以等待计算的完成,并获取计算的结果,计算完成后只能使用 get 方法来获取结果。 mFuture以mWorker作为参数
Android开发:AsyncTask源码解析
内容版权声明:除非注明,否则皆为本站原创文章。