异步功能和Java中的节点事件循环

异步功能程序继续运行。它不等!这样,减少了用户的等待时间。同样,作为编程语言的Java脚本本身也是异步的。

例如,如果在代码中我们正在运行一个昂贵的请求,这可能需要很多时间,那么在使用异步功能的情况下,等待时间将过多,并且用户也将无法执行其他任何操作!

因此,通常在执行昂贵且耗时的操作时,我们更喜欢使用异步代码。

让我们以javascript中的Anyncronous函数为例 -

示例

console.log('One');
jQuery.get('page.html', function (data)
{
   console.log("Two");
});
console.log('Three');

输出结果

One, Two, Three

现在,让我们看看Node中的事件循环是什么。

事件循环是在线程计划内创建的,在该线程计划中,我们的线程应在任何给定的时间点执行操作。

任何Node.js应用程序都包含响应各种事件(例如传入连接,I / O完成,超时到期,Promise解决方案等)执行回调。主线程(我们现在称为事件循环)执行所有这些回调。

当事件循环运行时,对于每次迭代,节点都会检查它是否正在等待任何异步I / O或计时器。如果未找到任何内容,则该节点将其关闭。