下面列出了怎么用com.squareup.okhttp.Dispatcher的API类实例代码及写法,或者点击链接到github查看源代码。
@Test
public void testCustomDispatcher() {
OkHttpClient client = new OkHttpClient();
// should be fine with default Dispatcher
new OkHttpRequestor(client);
// should also be fine with other common executors that run on separate threads
client.setDispatcher(new Dispatcher(Executors.newSingleThreadExecutor()));
new OkHttpRequestor(client);
client.setDispatcher(new Dispatcher(Executors.newCachedThreadPool()));
new OkHttpRequestor(client);
client.setDispatcher(new Dispatcher(Executors.newFixedThreadPool(3)));
new OkHttpRequestor(client);
}
/**
* set dispatcher to OkHttpClient
* @param dispatcher {@link OkHttpClient}.setDispatcher({@link Dispatcher})
*/
public void setDispatcher(Dispatcher dispatcher) {
if (dispatcher == null) {
return;
}
this.mClient.setDispatcher(dispatcher);
}
@Test(expectedExceptions={ IllegalArgumentException.class })
public void testSameThreadDispatcher() {
OkHttpClient client = new OkHttpClient();
// should fail for same-thread executors
client.setDispatcher(new Dispatcher(MoreExecutors.newDirectExecutorService()));
new OkHttpRequestor(client);
}
public void setDispatcher(Dispatcher dispatcher) {
if (dispatcher == null) {
return;
}
getDefaultHttpStack().setDispatcher(dispatcher);
}