等待HTTP响应的线程会占用CPU吗?

时间:2015-08-03 16:13:37

标签: c# .net multithreading http wait

var request = WebRequest.CreateHttp(url);
var response = (HttpWebResponse) request.GetResponse();

运行上面的代码时,调用request.GetResponse()时会暂停。我们正在等待对HTTP请求的响应。

我想知道的是,这个线程是否会进入休眠状态,允许另一个线程使用CPU,或者只是占用CPU并且忙着等待'在等待HTTP响应时。

如果request.GetResponse()确实导致忙碌等待我该怎么做才能使这段代码更有效地使用CPU?

1 个答案:

答案 0 :(得分:0)

是的,线程将进入睡眠状态,操作系统将确保这一点。完成I / O操作后,OS将唤醒线程。