我可以遵循的设计多线程服务器的任何模板/模式/指南吗?我无法通过我的谷歌搜索在网上找到任何非常有用的东西。C中多线程网络服务器的模式#
我的程序将启动一个线程来侦听使用TcpListener的连接。每个客户端连接都将由它自己的IClientHandler线程处理。服务器将clientHandler.HandleClient包装在委托中,调用BeginInvoke,然后不再关心它。
我还需要能够干净地关闭监听线程,这是我没有找到很多在线的检查。
我假设一些混合使用lock/AutoResetEvents/threading magic与异步BeginAceptTcpClient和EndAcceptTcpClient结合在一起会让我在那里,但是当涉及到网络代码时,对我来说这一切都已完成。所以我必须相信,我可以遵循一些模式,并且不会因无数多线程的角落案例而感到困惑。
谢谢。
这看起来很有帮助。谢谢!看起来我今天会花一些时间阅读。 – 2008-09-29 16:03:26