TCP客户端以高频率发送的异步或单独线程

时间:2017-09-22 12:49:50

标签: c# asynchronous tcp

我正在使用一个使用游戏手柄的Xamarin iOS应用程序,并通过基于客户TCP的协议将输入推送到服务器,速率约为40消息/秒。

什么会产生最佳的应用程序性能结果;有专门的线程发送消息,或使用async / await,如下所示:await WriteAsync(data, 0, data.Length).ConfigureAwait(false)

1 个答案:

答案 0 :(得分:1)

使用ConfigureAwait(false)肯定有利有弊。这将允许工作返回到任何可用的线程,但涉及context-switch线程的额外开销。

但是,如果您的邮件系统即发即弃,并且您的邮件由其他某个流程处理,则无需await您的方法。

ConfigureAwait(true)(默认)可以更好地避免上下文切换,记住这些事情也依赖于硬件。

这可能更有用:When to use ConfigureAwait