单螺纹还是多螺纹?
If you want a single threaded managed process that does
all its work using APC and completion ports,you are going to have to
hand code it. Building it would be risky and tricky. — 07001
显而易见,单线程使代码更容易编写,因为您不需要使用锁和互斥锁.只有一个线程读取/修改程序状态数据,这使得事情变得简单.所有计算都在单独的线程上进行,并在结果准备好后返回主线程. *** 作完成后,所有文件/网络事件都会跳出并返回主线程.
相关但不同的问题:
> Non-blocking single threaded web server
> Minimal web server
> Single threaded async events
可能有用的项目:
> ALE最接近我想要的,语法类似于Node.Js
> Manos de mono,C#的单线程服务器
> A message loop in C#,处理单个线程上的事件
> C#中libuv的包装(1,2)
> Anna仅用于http请求(无二进制),语法类似于Node.Js
这是一个用VB.NET和C#编写的开源示例:
https://github.com/perrybutler/dotnetsockets/
它使用基于事件的异步模式(EAP),IAsyncResult模式和线程池(IOCP).它会将消息(消息可以是任何本机对象,如类实例)序列化/编组为二进制数据包,通过TCP传输数据包,然后在接收端对数据包进行反序列化/解组,这样您就可以使用本机对象来处理.这部分有点像Protobuf或RPC.
它最初是作为实时多人游戏的“网络代码”开发的,但它可以用于多种用途.不幸的是我从来没有使用它.也许其他人会.
源代码有很多注释,因此应该很容易理解.请享用!
总结以上是内存溢出为你收集整理的c# – .NET的Node.js全部内容,希望文章能够帮你解决c# – .NET的Node.js所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)