Tôi muốn làm một yêu cầu HTTP và sau đó nhận được câu trả lời như phác thảo đây:Chặn bộ đệm Java BufferedReader?
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();
Nhưng câu hỏi của tôi là, nếu yêu cầu tôi gửi mất một thời gian dài trước khi nhận được phản hồi, những gì xảy ra trong cuộc gọi reader.readLine() ở trên? Liệu quá trình này có tiếp tục chạy/chạy được trên CPU hay không, nó sẽ được lấy ra khỏi CPU và được thông báo để thức dậy và chạy lại khi có IO được đọc?
Nếu nó vẫn ở trên CPU, bạn có thể làm gì để làm cho nó được tắt và được thông báo sau?
Có bất kỳ câu trả lời nào trong số những câu trả lời này giải thích đầy đủ câu hỏi của bạn không? Nếu vậy, bạn có lẽ nên đánh dấu một câu trả lời được chấp nhận của bạn. Nếu không, chỉ cần chỉnh sửa câu hỏi của bạn để giải thích những gì vẫn chưa rõ ràng. – jasonmp85