c# - 同时调用或调用多个方法?

标签 c# asp.net

如何在我的 asp.net 页面加载中同时调用多个方法? 我有 4 种方法可以在我的页面加载事件中调用。 但我想调用所有 4 种方法,而不是等待第一种方法完成后再调用第二种方法。

如何在 asp.net 4.0 中实现这一点?

最佳答案

首先,重要的是要知道您正在做的事情是否明智。如果它们都受 CPU 限制,那么不要这样做,IMO; Web 服务器已经是高度线程化的,并且通常是一个繁忙的开始。您很有可能会通过使用多核来减慢整个过程。不过,对于 1 个用户来说,它看起来很棒!

如果您受 IO 限制,那么有任意数量的方法可以做到这一点;首选是使用您正在与之交谈的内置异步方法,因此您可以使用 IOCP 而不是常规线程。因此,对于 NetworkStream,您可以使用 BeginRead(...) 等。

然后您需要将所有内容连接在一起。更多方式;我个人倾向于使用 Monitor.WaitMonitor.Pulse,因为这样可以避免使用非托管代码(许多等待句柄实际上是操作系统提供的)。

另请注意:线程/并行与许多有趣的失败方式捆绑在一起;通常你只需要过度担心用于同步的静态方法/数据,但是如果你有多个线程在一个请求中做事情:注意颠簸......那里很多。

.NET 的下一个版本旨在使延续变得更加容易;我需要看一下我们如何轻松地将当前的实验代码应用到 IOCP 场景。

关于c# - 同时调用或调用多个方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5298315/

相关文章:

c# - .Net核心3 : The namespace internal does not exist in Microsoft.扩展.日志记录.内部

c# - Dictionary.Keys.Contains(key) 和 Dictionary.ContainsKey(key) 有区别吗

c# - 从 IDictionary 转换为通用 IDictionary 的最佳方式

c# - 从 Entity Framework 5 到 MySQL 的存储过程调用

c# - window.external 上的无参数方法在使用 typeof 检查时被调用

javascript - Uncaught ReferenceError : ActiveXObject is not defined Error in Chrome

asp.net - 如何使用 ASP.NET 网站每天发送 1000 多封电子邮件

asp.net - 适用于移动应用程序和 Web 管理面板的 Azure 移动应用服务或 Web 应用服务

asp.net - 来自 Visual Studio 调试的 localhost 的 ERR_SSL_PROTOCOL_ERROR

asp.net - 文件夹中的 web.config 允许所有用户身份验证或不进行用户身份验证