【问题标题】:Is AsyncCallback good when using mono on non-windows platforms?在非 Windows 平台上使用单声道时 AsyncCallback 好吗?
【发布时间】:2016-09-25 11:56:44
【问题描述】:

我正在编写一个网络服务器,无论它运行在什么操作系统上,我都希望它能够正常工作。我一直在使用与Does C# AsyncCallback creates a new thread?相同的实现风格

我一直在寻找有关这是否是一个好的实现或者我是否应该使用线程池的信息。提问者对上述问题的选择似乎是说使用 AsyncCallback 处理请求是一种非常好的方法,我应该使用它而不是使用线程池。

但我想知道这是否适用于任何操作系统,还是仅适用于 Windows?

【问题讨论】:

    标签: c# mono


    【解决方案1】:

    我一直在寻找有关这是否是一个好的实现或者我是否应该使用线程池的信息。提问者对上述问题的选择答案似乎是说使用 AsyncCallback 处理请求是一种非常好的方法

    确实是的,Async-Await 在这种情况下是有意义的,因为它是为基于 IO 的调用、远程调用而设计的,除了将请求分派到远程主机之外,调用者没有什么期望,所以线程池线程将当它等待电话返回时,它是一种纯粹的浪费,同时又持有重要的资源。事实上Async-Await 将有助于使系统更具可扩展性,因为调用在基于硬件(设备驱动程序)的 IO 完成端口上排队。

    但我想知道这是否适用于任何操作系统,还是仅适用于 Windows?

    当您尝试在Mono (Linux) 上使用它时,如果该功能被公开,那么它的工作方式必然与Windows 中的预期相同,尽管兼容性细节here是。如上所述,添加我的观点,因为这纯粹是一个基于硬件的功能,它与WindowsLinux 和其他Operating systems 的情况下在同一行上实现,因此可以肯定它是能够以相同的视角工作,虽然内部实现、API 调用和优化肯定会有所不同,但对于最终用户而言,使用它的体验不会改变

    【讨论】:

      猜你喜欢
      • 2021-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-03
      • 2017-08-30
      • 2023-03-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多