【问题标题】:How to control concurrency access on a variable in NodeJS?如何控制 NodeJS 中变量的并发访问?
【发布时间】:2014-03-22 14:50:51
【问题描述】:

例如:

var i = 0;
while(true)
  http.request('a url', callback_f);

function **callback_f**(){
  **i++**;
}

在我的简单虚构示例中,一些请求可能会同时尝试增加 i 的值, 如何在 NodeJS 中编写线程安全的代码?

【问题讨论】:

标签: javascript node.js concurrency thread-safety


【解决方案1】:

您不必担心 Node.js 中的线程。 Node.js 处理单线程环境中的所有调用。

【讨论】:

  • 听起来棒极了!那我就不需要在NodeJS中写delegation(in .netframeowrk)之类的东西了?
  • 我不知道 .NET 委托,但是在 Node.js 中几乎所有的 IO 函数都是异步实现的,这允许系统以单线程方式调用回调。这实际上是 Node.js 最强大的属性之一。
  • @HakanSerce 不是几乎全部,全部
  • @thefortheye 实际上 Node.js 中有几个同步 API。例如检查这个,nodejs.org/docs/v0.3.1/api/fs.html#fs.readSync
  • @HakanSerce 我的意思是,no Node.js 函数只执行同步 IO(它可能有 Sync 对应项)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-09-22
  • 2012-06-26
  • 1970-01-01
  • 2013-05-28
  • 2016-10-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多