为了在C#中创建可扩展的多用户服务器,这两种类型的服务器中的哪一种更有效?你可以看到使用begin*方法异步服务器(如beginaccept,beginsend)的例子在这里,和线程池的实现在这里.
我知道什么是线程池以及它是如何工作的所以我非常了解该实现是如何工作的.那么异步服务器怎么样?这会为每个发送,接收和连接事件产生一个线程吗?与线程池相比效率如何?
效率我只是指速度和内存使用的总体平衡.
有人建议我使用begin()方法,但是当它们产生一个新线程来处理发送,接收或连接事件时,它们是否会产生开销?或者他们最终使用某种内部线程池?如果没有,有没有办法让它使用线程池,或者我应该只是滚动我自己的异步套接字服务器?