使用await/async会导致性能下降吗?

Ars*_*ray 1 c# performance async-await

我正在考虑使用await/async范例重写我的网络库.很多使用该库的代码仍然是同步的,所以我计划将整个库移动到异步模式,然后创建方法存根,这会将异步调用转换为同步调用.

任何人都可以告诉我这是否会使我的图书馆更糟糕的同步使用?(如果它会消耗更多的CPU,方法调用需要更长的时间来执行等)?

Han*_*ant 6

它肯定不会更快,同步代码可以更快地响应传入的数据.

从异步操作中获得的优势是您的库可以更好地扩展,能够处理更多连接.没有数百个线程只是等待数据到达的副作用.以异步方式执行此操作的缺点是客户端应用程序将更难以使用您的库.这是async/await解决的问题.如果你自己再次使它同步没有任何好处,它必须留给客户端应用程序.