xiangwan
V2EX  ›  Node.js

我不信你不佛, nodejs 的这个包会让你惊镇

  •  
  •   xiangwan · Aug 10, 2019 · 8476 views
    This topic created in 2645 days ago, the information mentioned may be changed or developed.

    众所周知,nodejs 是单线程的,但是多线程的需求一直是有的,其实官方的 cluster 包可以让你‘多线程’(多进程)。

    文档在这里: http://nodejs.cn/api/cluster.html

    不要被误导,它不止可以用于 http。

    你试着用 cluster 来实现一个简单的 demo,大概 10 分钟?的 demo。main 和 worker 进程互相沟通一下(发送一个回合的消息)

    如果你做完 demo 后还觉得我是标题党,那么我,只能让你看下这个解释: https://github.com/dinsio/multi-process/blob/master/docs/why_nodejs_official_cluster_sucks_cn.md

    18 replies  •  2019-08-12 00:25:15 +08:00
    Jex
    Jex
    Aug 10, 2019
    1
    你的想法就像:「为什么是 File.write ?难道不应该是 writeToFile 吗?」

    说起来都是 OOP 惹的祸
    xiangwan
    xiangwan
    OP
    Aug 10, 2019
    2
    写 demo 才能切确的感受到这个标题
    ochatokori
    ochatokori
    Aug 10, 2019 via Android
    3
    刚才第一次页面还在
    再点进去一次怎么就 404 了

    其实吧我觉得这个包也没有太大问题,可能我是 js 吹吧
    第二个例子 worker.on 的回调方法不就是在 master 执行的吗,但是楼主的注释说是在子进程执行的?
    Windelight
    Windelight
    Aug 10, 2019 via Android
    4
    我跟佛说...........
    佛说好的...........
    我跟佛说...........
    佛说不行,只能..
    我又跟佛说........
    佛说不行...........
    ............................
    ............................
    佛响应时间过长
    jecshcier
    jecshcier
    Aug 10, 2019 via iPhone
    5
    众所周知,cluster 是多进程。。而不是多线程
    lxrmido
    lxrmido
    Aug 11, 2019
    6
    众所周知,线程跟进程是差异很大的两个概念……

    最近被 worker 折磨得快要佛了的在此佛一下……
    jybox
    jybox
    Aug 11, 2019
    7
    nodejs.org/api/worker_threads.html

    多线程现在也有了,不过不明白楼主想说什么。
    Trim21
    Trim21
    Aug 11, 2019 via Android
    8
    链接 404 了
    zbinlin
    zbinlin
    Aug 11, 2019
    9
    * nodejs 是多线程的,只是 js 是单线程的,而且现在也支持 js 多线程了
    * 论命名的重要性
    * 还是看英文的官方文档吧
    Death
    Death
    Aug 11, 2019 via Android❤️1
    10
    为什么感觉 lz 的这一段话有种机翻的感觉……
    ziiber
    ziiber
    Aug 11, 2019
    11
    为什么我进这个帖子背景色是黑色的???
    POPOEVER
    POPOEVER
    Aug 11, 2019
    12
    确实震惊了,404
    Hardo
    Hardo
    Aug 11, 2019 via Android
    13
    为啥我看不懂楼主在说啥
    phoenixlzx
    phoenixlzx
    Aug 11, 2019 via iPhone
    14
    我怎么记得 cluster 这模块好多年前就有了?
    dartabe
    dartabe
    Aug 11, 2019
    15
    求科普下 为什么查阅资料 linux 下线程进程是一个东西???
    autogen
    autogen
    Aug 11, 2019
    16
    多进程要什么支持,直接多启动几十个就好了
    autogen
    autogen
    Aug 11, 2019
    17
    多进程要什么支持,直接多启动几十个就好了
    nginx、lvs 用轮询就好了
    gramyang
    gramyang
    Aug 12, 2019 via Android
    18
    @Windelight 佛说:三天之内撒了你(心肺停止)
    你 fatal 了。。。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1887 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 46ms · UTC 07:18 · PVG 15:18 · LAX 23:18 · JFK 02:18
    ♥ Do have faith in what you're doing.