如果一个Web服务器是非阻塞的,这是否意味着它正在处理与node.js相同的IO?

我将很快使用一个名为Undertow的服务器。 该网站说:

Undertow是一个用java编写的灵活的高性能Web服务器,提供基于NIO的阻塞和非阻塞API

如果Undertow允许非阻塞,那和node.js是一样的吗? 我不是指语言或其他类似的东西。 我有一个单独的项目,我认为node.js将是一个不错的select,但如果我可以使用单个产品的多个项目,这将是有益的。

编辑:我发现这个问题。 Java的NIO非阻塞模式vs node.jsasynchronous操作我开始认为我有困惑的事情。

Undertow基于JBoss XNIO库和Nodejs ,XNIO依靠操作系统function(可用时使用epoll或kqueue)来通知IO事件(例如,当数据可以从套接字读取时)。

在Undertow中,通过IO threads来接受传入的请求。 对这些线程执行阻塞操作意味着延迟处理新的传入请求。 请参阅Undertow关于IO线程的文档

在IO线程旁边,Undertowpipe理另一个线程池, Worker threads来处理阻塞任务(想象调用webservices或查询数据库这样的任务)。这就是你不能用Nodejs获得的东西

要使用Worker线程,必须从IO线程分派请求处理。 API是全面和易于使用的,再次参见Undertow的文档 ,作为一个起点。

维基百科 :

在计算机科学中,asynchronousI / O或非阻塞I / O是input/输出处理的一种forms,允许其他处理在传输完成之前继续。

非阻塞和asynchronous是同义词,这就是所有标准node.js Web服务器的工作原理。