首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FutureTask如何管理线程..?

FutureTask如何管理线程..?
EN

Stack Overflow用户
提问于 2012-11-20 14:51:54
回答 1查看 162关注 0票数 0

我尝试发送reqeuest到server...and,直到请求没有响应。我想执行一个循环,打印integers..problem。如果我的循环一直在继续,如果我一直执行到100,它会打印100个值,如果到1000,它会打印1000个值。我想要的是循环应该依赖于响应。一旦响应发生,循环线程就应该停止...

代码语言:javascript
复制
  public class ServiceInteraction {
  FutureTask<JSONArray> task;
  public JSONArray addUser(List<BasicNameValuePair> postPairs_interaction){
    JSONArray jArray;
    task = new FutureTask<JSONArray>(new Service_C(postPairs_interaction));
    ExecutorService pool = Executors.newFixedThreadPool(2);
    pool.submit(task);
    for(int i = 0 ; i < 1000; i++){
        System.out.println("value is "+i);
    }//End of for loop
    try{
        return (jArray = task.get());
    }catch(InterruptedException e){
        return null;
    }catch(ExecutionException e){
        return null;
    }
  }//End Of addUser

这是我的service_c类代码..。

代码语言:javascript
复制
public Service_C(List<BasicNameValuePair> postPairs) {
    this.postPairs = postPairs;
}

@Override
public JSONArray call() throws Exception {
    HttpClient httpclient = new DefaultHttpClient();
    HttpPost post = new      HttpPost("http://10.0.0.62:8080/IDocWS/"+postPairs.get(0).getValue());
    post.setEntity(new UrlEncodedFormEntity(postPairs));
    ResponseHandler respHandler = new BasicResponseHandler();
    String responseData = (String) httpclient.execute(post,respHandler);

    try {
        JSONArray jArray;
        jArray = new JSONArray(responseData);
        return jArray;

    } catch (JSONException ex) {
        Logger.getLogger(Service.class.getName()).log(Level.SEVERE, null, ex);
        System.out.println("Error in getting response from the user");
        return null;
    }
}//End of call method
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-20 15:08:25

您可以尝试这样做:

代码语言:javascript
复制
 for (int i = 0;;i++){
        if (task.isDone()) {
              break;
        }
        System.out.println("value is "+i);
 }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13467983

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档