-3

我想比较 NodeJS、Go lang 和 Java。我搜索并发控制。结果是Java的并发控制是多线程的,NodeJS和Go lang的并发控制是单线程的。那么,我想知道 NodeJS 和 Go 语言的单线程如何优于 Java 的多线程?

谁能帮我 ?对于每条评论都是 Ty。

4

1 回答 1

12

NodeJS 是单线程的。它具有事件并发模型,可在代码中带来一系列回调。Java 具有真正的多线程模型,其中每个程序线程都映射在 OS 线程上。该模型的成本是堆栈切换。Go 也是多线程的,但它使用用户空间或“绿色线程”,它们由运行时调度程序映射到一个或多个操作系统线程。这样的踏板很轻,切换成本更低,你可以毫无问题地生成数十万个 goroutine。使用 Java 模型,您可以更精确地控制操作系统资源共享。

于 2015-05-13T10:15:02.713 回答