我的C#UI,客户端/服务器应用程序应该是多线程还是异步? 现在我用多线程做了。但这是正确的方法吗?应该 我把它改成async-await模式?
答案 0 :(得分:2)
嗨,asyn / await模式是多线程的最佳选择。即使代码以异步方式运行,使用此模式也不会创建新线程。它使用底层状态机来实现异步性。当您处理所有请求在线程池线程中运行的客户端/服务器应用程序时,这很好。启动新线程意味着您最终可能会减少请求(因为请求将排队等待线程)。对于异步调用,您将每秒提供更多的请求,因为在长时间运行的I / O或网络调用期间不会阻塞线程。如果您有更多问题,请与我们联系。谢谢
答案 1 :(得分:0)
如果是客户端GUI应用程序,我会选择async-await方法。在GUI上下文中使用async-await感觉更“自然”。我已经编写了一个Xamarin表单应用程序从天蓝色的db中获取数据库条目,并且使用async-await执行此操作很简单。