Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# C语言中的多线程网络服务器模式#_C#_Multithreading_Asynchronous_Network Programming - Fatal编程技术网

C# C语言中的多线程网络服务器模式#

C# C语言中的多线程网络服务器模式#,c#,multithreading,asynchronous,network-programming,C#,Multithreading,Asynchronous,Network Programming,在设计多线程服务器时,我可以遵循哪些模板/模式/指南?通过谷歌搜索,我在网上找不到任何非常有用的东西 我的程序将启动一个线程,使用TcpListener侦听连接。 每个客户端连接都将由它自己的IClientHandler线程处理。服务器将把clientHandler.HandleClient包装在委托中,调用BeginInvoke,然后停止关心它 我还需要能够干净地关闭监听线程,这是我在网上没有发现的很多例子 我假设锁/自动resetEvents/线程魔法与异步BeginAcceptCpclie

在设计多线程服务器时,我可以遵循哪些模板/模式/指南?通过谷歌搜索,我在网上找不到任何非常有用的东西

我的程序将启动一个线程,使用TcpListener侦听连接。 每个客户端连接都将由它自己的IClientHandler线程处理。服务器将把clientHandler.HandleClient包装在委托中,调用BeginInvoke,然后停止关心它

我还需要能够干净地关闭监听线程,这是我在网上没有发现的很多例子

我假设锁/自动resetEvents/线程魔法与异步BeginAcceptCpclient和EndAcceptCpclient相结合的一些组合将使我达到目的,但在网络代码方面,对我来说,这一切都已经完成了。所以我必须相信,有一些模式我可以遵循,而不是被无数的多线程角落案例完全弄糊涂,我似乎永远都不会变得完美


谢谢。

奇怪的是,你可能会在计算机科学作业中发现一些东西。虽然它是C++ Voodoo,但是对于那些能做C语言的人来说,这个理论是可以理解的。

尽管你可以在网上找到完整的优秀阅读资料。

看看前面的问题:


它不是严格的C#特定的,但它有一些很好的建议。

这看起来非常有用。谢谢看来我今天要花点时间读书了。