Java BufferedReader readline blocage?

Je veux faire une requête HTTP et puis obtenir la réponse que esquissé ici:

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();

Mais ma question est, si la demande j'envoie prend un long moment avant qu'une réponse est reçue, ce qui se passe dans l'appel lecteur.readLine() ci-dessus? Ce processus fera rester en cours d'exécution/praticable sur le CPU ou s'il s'en pris au large de la CPU et notifié à se réveiller et exécuter à nouveau lorsqu'il est IO être lu?

Si elle reste sur le CPU, ce qui peut être fait pour le faire descendre et être informé plus tard?

Avez-vous eu des réponses suffisamment expliquer votre question? Si oui, vous devriez sans doute une marque que votre réponse. Si non, il suffit de modifier une question à sort ce qui est encore incertaine.

OriginalL'auteur tgguy | 2010-05-05