Tag: 事件驱动的

什么函数在NodeJs和JS中放入EventLoop

我一直在阅读一些NodeJs的文章,以了解它的asynchronous性质,在这期间我发现了这个,并且非常喜欢Node.js,Doctor's Offices和Fast Food Restaurants – 了解事件驱动的编程 有一个叫做EventLoop的东西是基于FIFO的队列。 他们说,当一个asynchronous函数被击中时,它会被放到EventLoop并继续在那里执行。 我在这里有点困惑。 例如这里说: 实际上,像setTimeout和setInterval这样的asynchronous函数被推送到一个称为Event Loop的队列中。 并在同一篇文章中: 事件循环是一个callback函数的队列。 当asynchronous函数执行时,callback函数被推入队列中。 JavaScript引擎不会开始处理事件循环,直到执行asynchronous函数之后的代码。 但它不同于这个图像: 我们来看下面的例子: console.log("Hello,"); setTimeout(function(){console.log("World");},0); 所以从我从这些不同的解释中得知, 第一个说function(){console.log("World");} setTimeout()函数的一部分,也就是callback,将放在EventLoop中。 一旦setTimeout完成,它也将执行EventLoop 。 另一个说,整个事情setTimeout(function(){console.log("World");},0); 将被放入EventLoop并将被执行… 我现在更困惑了。 这应该是简单的,但我想一个好的,但简单的解释对我来说是很好的下列问题: 上述哪一项是真实的? 什么是EventLoop? 比喻,方法,对象等真实的东西? 如果我想从零开始实现一个类似于EventLoop的事情,它会如何简单? 也许有些代码会很好看。

nodejs与运行libevent有什么不同?

我很好奇nodeJS现在获得的超级并发性是什么。 我其实没有用过这么多,只是在业余时间都玩过。 听起来像节点承诺你可以设置它的连接1000年,你甚至可以用libevent,在C ++中说,不是吗?

EventMachine vs Node.js

我要开发一个协作网站,其中一个function将是实时更改的协作编辑。 即当两个或两个以上的用户正在编辑相同的文档时,他们可以看到彼此的变化,一旦发生。 我有一些Ruby on Rails的经验,所以我在考虑使用EventMachine,但是在Node.js的所有这些炒作,我知道考虑使用它。 那么,使用Node.js而不是EventMachine的主要好处是什么呢? tl; dr EventMachine和Node.js(除了语言)之间的主要区别是什么?