찾다

 >  Q&A  >  본문

Node 如何以最简短的代码跑满 CPU

学 Golang 看到了一段代码,是通过协程与死循环将整个 CPU 跑满:

package main

import (
    "runtime"
)

func main() {

    runtime.GOMAXPROCS(runtime.NumCPU())
    
    for i := 0; i < runtime.NumCPU(); i++ {
        go func() {
            for {

            }
        }()
    }

    for {

    }
}

122.png

然后想到了 Node,如法炮制后发现 CPU 就没啥动静(估计是引擎的优化)。

那么问题来了

如何通过一段简短的 Node 代码跑满CPU(单核可以,所有核都满载最好)

同时也想在此搜集一下各大主流语言以最简短方式跑满 CPU 的实现代码,非常感谢各位大神(✪ω✪)


高洛峰高洛峰2950일 전668

모든 응답(1)나는 대답할 것이다

  • 三叔

    三叔2016-11-04 10:58:35

    var cluster = require('cluster');
    var CPUs    = require('os').cpus().length;
    
    if (cluster.isMaster) {
      for (var i = 0; i < CPUs; i++) {
        cluster.fork();
      }
    }
    else {
      while (true) { /* ... */ }
    }


    회신하다
    0
  • 취소회신하다