通过阅读文献,我了解应用程序可以采用两种方法进行异步编程:
第二种方法是采用事件驱动的体系结构。那是怎么回事 当调用耗时的过程时,应用程序不会等待它完成。 取而代之的是,该过程会通过发出事件来通知何时结束。这个事件 被添加到队列或事件循环中。任何相关功能都会引起关注 在应用程序发生此事件时,以及从事件中拉出事件时 循环并处理后,将调用与事件相关的依赖功能 数据传递给它。
反对第一种方法的普遍论点是:
这种方法的问题是 线程很昂贵。它们在资源上很昂贵,而在 增加了应用程序的复杂性。
但是我无法理解这个论点。在事件驱动的方法中,也将需要线程来执行耗时的任务。不是吗?
第二种方法比第一种方法得分高吗?
编辑:节点使用库libuv处理任务的线程。