Tag: asynchronousctp

为什么使用asynchronous请求而不是使用更大的线程池?

在荷兰的Techdays期间,Steve Sanderson就C#5,ASP.NET MVC 4和asynchronousWeb进行了演示。 他解释说,当请求花费很长时间才能完成时,线程池中的所有线程变得繁忙,新的请求必须等待。 服务器无法处理负载,一切都变慢。 然后,他展示了如何使用asynchronousWeb请求提高性能,因为工作被委托给另一个线程,并且线程池可以快速响应新的传入请求。 他甚至演示了这一点,并表明50个并发请求首先花费50 * 1s,但asynchronous行为总共只有1,2秒。 但看到这个我还有一些问题。 为什么我们不能只使用一个更大的线程池? 不使用asynchronous/等待来调出另一个线程较慢,然后从一开始就增加线程池? 这不像我们运行的服务器突然得到更多的线程或东西? 来自用户的请求仍然在等待asynchronous线程完成。 如果池中的线程正在做其他事情,“UI”线程如何保持忙碌? 史蒂夫提到了“一个聪明的内核,知道什么时候完成”。 这个怎么用?