lawlietxxl
V2EX  ›  Node.js

Nodejs 问题: nodejs 资源同步的问题

  •  
  •   lawlietxxl · Dec 13, 2015 · 3370 views
    This topic created in 3882 days ago, the information mentioned may be changed or developed.

    nodejs 单线程是不需要考虑资源同步吗?
    最简单的一个例子(因为 nodejs 是基于事件的):

    触发事件 A 的时候:
    if(someArray.length == 2)
    do something;

    触发事件 B 的时候:
    someArray.push(o);

    假如某个时候,几乎同时触发事件 A 和 B :
    结果 1 ):完全执行完某个事件的代码,再执行另一个事件
    结果 2 ):资源不同步。。

    求解……谢谢各位。

    5 replies    2015-12-14 09:01:52 +08:00
    dqh3000
        1
    dqh3000  
       Dec 13, 2015
    单线程
    结果 1
    chemzqm
        2
    chemzqm  
       Dec 13, 2015   ❤️ 1
    除非你用 cluster ,否则事件只可能一个接一个执行, event loop 就这么简单
    whimsySun
        3
    whimsySun  
       Dec 13, 2015
    不可能存在这个问题咯
    indexof
        4
    indexof  
       Dec 13, 2015
    单线程,就意味着,一个时刻只做一件事。也就是说每次只执行一个函数。
    will0404
        5
    will0404  
       Dec 14, 2015 via iPhone
    是一个接一个执行的 如果你需要严格的执行顺序 那就用回调嵌套
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2978 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 13:31 · PVG 21:31 · LAX 06:31 · JFK 09:31
    ♥ Do have faith in what you're doing.