Java HttpURLConnection getoutputstream()线程状态将被阻止
我正在使用HttpURLConnection类发出http请求。我的代码如下所示: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
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线程池,所以我无法添加该代码段,因为上述代码段中存在问题@专攻