相关疑难解决方法(0)

Java BufferedReader readline阻塞?

我想发一个HTTP请求,然后按照草图在这里得到响应:

URLConnection c = new URL("http://foo.com").openConnection();
c.setDoOutput(true);

/* write an http request here using a new OutputStreamWriter(c.getOutputStream) */

BufferedReader reader = new BufferedReader(new InputStreamReader(c.getInputStream));
reader.readLine();
Run Code Online (Sandbox Code Playgroud)

但我的问题是,如果我发送的请求需要很长时间才能收到响应,那么上面的调用reader.readLine()会发生什么?此进程是否会在CPU上保持运行/可运行,还是会从CPU中取出并在有IO被读取时被通知唤醒并再次运行?

如果它停留在CPU上,可以做些什么让它下来并在以后得到通知?

java io networking blocking bufferedreader

7
推荐指数
2
解决办法
1万
查看次数

标签 统计

blocking ×1

bufferedreader ×1

io ×1

java ×1

networking ×1