V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
xiangwan
V2EX  ›  Node.js

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

  •  
  •   xiangwan · 2019-08-10 22:32:38 +08:00 · 7246 次点击
    这是一个创建于 1933 天前的主题,其中的信息可能已经有所发展或是发生改变。

    众所周知,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 条回复    2019-08-12 00:25:15 +08:00
    Jex
        1
    Jex  
       2019-08-10 22:44:13 +08:00
    你的想法就像:「为什么是 File.write ?难道不应该是 writeToFile 吗?」

    说起来都是 OOP 惹的祸
    xiangwan
        2
    xiangwan  
    OP
       2019-08-10 22:49:05 +08:00
    写 demo 才能切确的感受到这个标题
    ochatokori
        3
    ochatokori  
       2019-08-10 23:29:15 +08:00 via Android
    刚才第一次页面还在
    再点进去一次怎么就 404 了

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

    最近被 worker 折磨得快要佛了的在此佛一下……
    jybox
        7
    jybox  
       2019-08-11 00:08:35 +08:00
    nodejs.org/api/worker_threads.html

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