Java 如何处理同步请求?

Java 如何处理同步请求?,java,android,multithreading,Java,Android,Multithreading,Сan不了解如何在线程中发出同步请求,并且不阻止另一个线程中的请求。我的代码: for (Obj obj: objects) { Thread t = new Thread(new Runnable() { @Override public void run() { try { res = hDownloadUrl(obj.url, null); // always whait before get query from

Сan不了解如何在线程中发出同步请求,并且不阻止另一个线程中的请求。我的代码:

for (Obj obj: objects) {
       Thread t = new Thread(new Runnable() {
       @Override
       public void run() {
       try {
          res = hDownloadUrl(obj.url, null); // always whait before get query from another thread
          newUrl = res.getUrl();
          res2 = hDownloadUrl(obj.url, null);
          //  ..............

       } catch (IOException e) {
         e.printStackTrace();
       }
       }
    });
    t.start();
}
其中hDownloadUrl:

   public InputStream hDownloadUrl(String urlString, String userAgent) throws IOException {
        Log.w("Helper hDownloadUrl: ", urlString);
        URL url = new URL(urlString);
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        conn.setReadTimeout(10000 /* milliseconds */);
        conn.setConnectTimeout(15000 /* milliseconds */);
        conn.setRequestMethod("GET");
        conn.setDoInput(true);
        if (userAgent != null){
            conn.setRequestProperty("User-Agent", userAgent);
        }
        conn.connect();
        return conn.getInputStream();
    }

你能详细说明你的问题吗?“不要在另一个线程中阻止请求”是什么意思?是否要并行异步发送多个请求?如果是这样,你是如何发送第一个请求的,异步的?我有很多线程,在其他线程中发出请求(线程应该是同步的,因为我需要在请求之前获取下一个url),但我的代码不是异步的,一次只执行一个请求如何执行异步调用?请共享该代码。创建和销毁线程的成本很高。如果您的程序不断创建新线程,那么您可能可以通过使用线程池(如
java.util.concurrent.ThreadPoolExecutor
@Hermann Klecker)来提高其性能,但我向您展示了-新线程(…)