【发布时间】:2021-06-23 16:53:00
【问题描述】:
我有一个控制台应用程序正在以线性方式进行 Web 请求和数据库调用,然后关闭。所以理论上没有太多的多线程发生。
因为它与 IronPython 交互,所以它并不能很好地支持 async/await。
如果我让整个应用程序阻塞而不是异步/等待 - 这对在同一服务器上运行的其他应用程序的资源消耗有任何影响吗(Azure 应用服务)?
【问题讨论】:
-
如果您有 CPU 密集型工作(光线追踪、进行核模拟等),那么将其分配给与机器上的虚拟内核一样多的线程将使您的应用程序更加高效和会减慢其他用户/应用程序的速度。如果你有 I/O 绑定的工作,并且你没有“保持 UI 响应”的要求,也没有其他责任(比如让其他网络用户开心),那么只做有效且最容易维护的工作。
标签: c# multithreading asynchronous async-await