Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java DefaultHttpAsyncClient线程安全吗?为什么start()方法是必需的?_Java_Http_Asynchronous_Client - Fatal编程技术网

Java DefaultHttpAsyncClient线程安全吗?为什么start()方法是必需的?

Java DefaultHttpAsyncClient线程安全吗?为什么start()方法是必需的?,java,http,asynchronous,client,Java,Http,Asynchronous,Client,我正在使用Apache的库。有几件事我不明白: 1) DefaultHttpAsyncClient是否线程安全?我是否可以重用同一个客户端实例来发出多个并发请求 2) 为什么我需要start()客户端才能发出请求 HttpGet httpGet = new HttpGet("http://www.google.com"); DefaultHttpAsyncClient client = new DefaultHttpAsyncClient(); client.start(); // If the

我正在使用Apache的库。有几件事我不明白:

1)
DefaultHttpAsyncClient
是否线程安全?我是否可以重用同一个客户端实例来发出多个并发请求

2) 为什么我需要
start()
客户端才能发出请求

HttpGet httpGet = new HttpGet("http://www.google.com");
DefaultHttpAsyncClient client = new DefaultHttpAsyncClient();
client.start(); // If the client is not started, the request will never be made
Future<HttpResponse> future = client.execute(httpGet, new FutureCallback<HttpResponse>() {

    public void failed(Exception arg0) {
    }

    public void completed(org.apache.http.HttpResponse arg0) {
    }

    public void cancelled() {
    }

});

HttpResponse httpResponse = future.get();
HttpGet-HttpGet=new-HttpGet(“http://www.google.com");
DefaultHttpAsyncClient=新的DefaultHttpAsyncClient();
client.start();//如果客户端未启动,则永远不会发出请求
Future=client.execute(httpGet,new FutureCallback()){
公共作废失败(异常arg0){
}
公共无效已完成(org.apache.http.HttpResponse arg0){
}
公众假期取消(){
}
});
HttpResponse HttpResponse=future.get();

至于第二个问题,谢谢,我不明白为什么什么都没发生:)