相关疑难解决方法(0)

968
推荐指数
27
解决办法
19万
查看次数

多核机器上的Node.js

Node.js看起来很有趣,我必须错过一些东西 - 不是Node.js只调整为在单个进程和线程上运行吗?

那么它如何扩展多核CPU和多CPU服务器?毕竟,尽可能快速地制作单线程服务器,但是对于高负载我想要使用多个CPU.同样可以使应用程序更快 - 似乎今天的方式是使用多个CPU并并行化任务.

Node.js如何适应这张图片?它的想法是以某种方式分发多个实例或什么?

javascript node.js node-cluster

582
推荐指数
14
解决办法
17万
查看次数

我应该使用哪些库来获得更好的OCaml线程?

我之前问过一个相关的问题为什么OCaml的线程被认为是"不够"?

无论ocaml的线程有多"糟糕",我都注意到一些图书馆说他们可以做真正的线程化.

例如,Lwt

Lwt提供了一种新的替代方案.它提供了非常轻量级的协作线程; "启动"一个线程是一个非常快速的操作,它不需要新的堆栈,新的进程或其他任何东西.此外,上下文切换非常快.事实上,我们将为每个系统调用启动一个线程非常容易.组成协作线程将允许我们编写高度异步的程序.

另外Jane Streetaync_core也提供了类似的事情,如果我是对的.


但我很困惑.做Lwtaync_core提供线程Java threading

如果我使用它们,我可以使用多个CPU吗?

以什么方式,我可以在OCaml中获得"真正的线程"(就像在Java中一样)?


编辑

我还是很困惑.

让我添加一个场景:

我有一个server(16 cpu cores)和一个服务器应用程序.

服务器应用程序的作用是:

  • 它会听取请求
  • 对于每个请求,它启动一个计算任务(假设花费2分钟完成)
  • 当每个任务完成时,任务将把结果返回给main,或者直接将结果发送回客户端

在Java中,它非常简单.我创建了一个线程池,然后对于每个请求,我在该池中创建一个线程.该线程将运行计算任务.这在Java中很成熟,它可以使用16个cpu内核.我对吗?

所以我的问题是:我可以在OCaml中做同样的事情吗?

ocaml

11
推荐指数
2
解决办法
2950
查看次数