我想打一个HTTP请求,然后获得响应,勾勒这里:Java BufferedReader readline阻塞?
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();
但我的问题是,如果我发送请求需要在收到响应之前很长一段时间,在通话时会发生什么reader.readLine()以上?这个过程是否会继续在CPU上运行/运行,或者它是否会从CPU中被取走,并在IO被读取时被通知唤醒并再次运行?
如果它停留在CPU上,可以做些什么来让它下车并稍后通知?
有没有这些答复足以解释你的问题?如果是这样,你应该将其中一个标记为你接受的答案。如果没有,只需编辑你的问题来说明什么还不清楚。 – jasonmp85 2010-05-28 08:10:38