在Android:Volley框架分析(二)——请求队列中我们讲到队列任务开始后,就会将工作交给Dispatcher,这一节我们来看看Dispatcher是如何工作的。
在Queue的start方法中,有两个Dispatcher。一个缓存分发(这里先不做介绍),一个工作队列分发NetworkDispatcher。
mDispatchers:这是一个数组,Volley内部用来执行请求也是放到线程当中的,用来分发的线程也不止一个,这里创建了一个数组,默认值是4个。其中存储NetworkDispatcher对象,NetworkDispatcher继承自Thread。
/** Number of network request dispatcher threads to start. */
private static final int DEFAULT_NETWORK_THREAD_POOL_SIZE = 4;
public void start() {
this.stop();
this.mCacheDispatcher = new CacheDispatcher(this.mCacheQueue, this.mNetworkQueue, this.mCache, this.mDelivery);
this.mCacheDispatcher.start();
for(int i = 0; i < this.mDispatchers.length; &#