【发布时间】:2009-02-19 19:31:32
【问题描述】:
用C#制作一个可伸缩的多用户服务器,这两种服务器哪一种效率更高?您可以看到使用 begin* 方法(如 beginaccept、beginsend)here 和线程池实现 here 的异步服务器示例。
我知道线程池是什么以及它是如何工作的,所以我非常了解该实现是如何工作的。但是异步服务器呢?这会为每个发送、接收和连接事件生成一个线程吗?与线程池相比,它的效率如何?
我所说的效率只是指速度和内存使用的总体平衡。
编辑:
有人建议我使用 begin() 方法,但是当它们产生一个新线程来处理发送、接收或连接事件时,它们不会产生开销吗?还是他们最终使用某种内部线程池?如果没有,有没有办法让它使用线程池,或者我应该滚动我自己的异步套接字服务器?
【问题讨论】:
标签: c# networking sockets