node.jssubprocess

我试图找出是否这将是一个像样的node.jssubprocess用例:

我有一个多人游戏,人们参与1v1比赛。 我应该为每场比赛使用一个subprocess吗?

不是真的需要。 由于节点是基于事件的,单个进程将能够处理数千个这样的玩家对。 假设您正在使用now.js ,您将为每个这样的对创build“房间”/“组”/“频道”。 命名可能会根据你使用的图书馆而有所不同,但总体的做法是一样的 – 分配所有在同一个“频道”上打对方的玩家。 如果实际上每个这样的玩家都使用了一个subprocess,那么实际上就是为了实现node.js的构build目的。

另一方面,产生subprocess的真实世界用例在forever.js (以及cluster.js )中实现。 这里的一个subprocess(也被称为工作者)是由主进程产生的。 工作进程完成实际的工作,比如说处理一个HTTP请求,而主进程只监视工作进程,如果现有的进程死了(由于各种原因),会产生新的工作进程。 subprocess也用于调用非nodejs应用程序。

关于Node.JS的一件很酷的事情是,你可以在一个线程中创build几乎所有的逻辑,并且通过一些非常酷的内核特性,Node知道何时可以处理新的套接字信息。

Node正准备逃跑的一件事就是单线程连接模型。 看看这个 。 节点对于I / O绑定的应用程序是很好的,所以如果你的游戏需要太多的处理,例如计算物理对象,Node可能不适合你。