Java HttpURLConnection getoutputstream()线程状态将被阻止

Java HttpURLConnection getoutputstream()线程状态将被阻止,java,multithreading,tomcat,servlets,httpurlconnection,Java,Multithreading,Tomcat,Servlets,Httpurlconnection,我正在使用HttpURLConnection类发出http请求。我的代码如下所示: conn = (HttpURLConnection)new URL(endPoint.trim()).openConnection(); conn.setConnectTimeout(rtbTimeOut); // 200 ms conn.setReadTimeout(rtbTimeOut); conn.setDoOutput(true); conn.setRequestMetho

我正在使用HttpURLConnection类发出http请求。我的代码如下所示:

conn = (HttpURLConnection)new URL(endPoint.trim()).openConnection();
    conn.setConnectTimeout(rtbTimeOut); // 200 ms
    conn.setReadTimeout(rtbTimeOut);
    conn.setDoOutput(true);
    conn.setRequestMethod(ApiConstants.REQUEST_POST_METHOD); 
    conn.setRequestProperty("Content-Type",ApiConstants.CONTENT_TYPE);      
    conn.setRequestProperty("x-openrtb-version", ApiConstants.RTB_REQUEST_HEADER);  
    os = conn.getOutputStream(); // **Here is code of line that my Thread state is BLOCKED**
    os.write(input.getBytes());
    os.flush();
在生产环境中调试此问题后,我发现 线程转储中出错 错误:“pool-424-thread-7”4082prio=5 os#u prio=0 tid=0x00007f8510144800 nid=0x5828等待监视器条目[0x00007f848b7f5000] java.lang.Thread.State:已阻止(在对象监视器上) 在上面的代码方法getOutputStream()行中

我不明白为什么它会变成阻塞状态或任何其他实现来避免这种状态


非常感谢您的帮助。谢谢:)

只是一个需要澄清的小问题:您如何期望您当前的尝试“平行”?因为在上面的代码片段中它不是。完全零并行化。我已经为实现对不同URL的命中并行请求编写了ExecutorService线程池,所以我无法添加该代码段,因为上述代码段中存在问题@专攻