var request = WebRequest.CreateHttp(url);
var response = (HttpWebResponse) request.GetResponse();
运行上面的代码时,调用request.GetResponse()
时会暂停。我们正在等待对HTTP请求的响应。
我想知道的是,这个线程是否会进入休眠状态,允许另一个线程使用CPU,或者只是占用CPU并且忙着等待'在等待HTTP响应时。
如果request.GetResponse()
确实导致忙碌等待我该怎么做才能使这段代码更有效地使用CPU?
答案 0 :(得分:0)
是的,线程将进入睡眠状态,操作系统将确保这一点。完成I / O操作后,OS将唤醒线程。