-
}
-
client.dispatcher().enqueue(new AsyncCall(responseCallback, forWebSocket));
-
}
同样先置标志位,然后将封装的一个执行体放到异步执行队列中。这里面引入了一个新的类AsyncCall,这个类继承于NamedRunnable,实现了Runnable接口。NamedRunnable可以给当前的线程设置名字,并且用模板方法将线程的执行体放到了execute方法中
2.总体架构
上图是OkHttp的总体架构,大致可以分为以下几层:
-
Interface——接口层:接受网络访问请求
-
Protocol——协议层:处理协议逻辑
-
Connection——连接层:管理网络连接,发送新的请求,接收服务器访问
-
Cache——缓存层:管理本地缓存
-
I/O——I/O层:实际数据读写实现
-
Inteceptor——拦截器层:拦截网络访问,插入拦截逻辑
①Interface——接口层:
接口层接收用户的网络访问请求&#x