阻塞方法 - “GetContext()”使用CPU

时间:2013-10-31 23:27:22

标签: .net

我正在使用.NET框架来设计http服务器。 我使用.NET的http库。 .NET有GetContext()方法,它是一个阻塞方法,将返回一个HttpListenerContext对象。 在网站上,它说:“此方法在等待传入请求时阻塞”。 但是,它是否忙于等待?这意味着它在等待传入请求时是否使用CPU?如果没有,它会做什么?释放CPU的使用并让其他进程使用CPU?

1 个答案:

答案 0 :(得分:0)

我在解密代码时遇到了问题(通过R#获得),虽然它确实在那里进行了while(true),但它正在进行Hans Passant评论中提到的winapi调用,这可能会阻塞,所以它不一定在忙着等待。

就像Hans Passant所说的那样,除非你的经验表明不是这样,否则很可能会做正确的事情。它不应该阻止其他进程获得公平分享的CPU时间。

然而它会阻止你当前的线程,所以你在任何类型的应用程序的主线程中运行它会使它无响应,但你的计算机上的其他进程应该没问题。