根据我的理解,每个vert.x实例都将被分配一个事件循环.事件循环处理该特定实例的所有请求和其他任务.我想,事件循环是一个主题.当部署了多个vert.x实例时,每个实例都有自己的事件循环吗?这意味着存在多个线程(多线程).这就是我的理解.这种单线程概念让我非常头疼.任何帮助将不胜感激.
java multithreading single-threaded vert.x singlethreadmodel
这是我的节点 js 后端 API 方法。
apiRouter.route('/makeComment')
.post((req, res) => {
consoleLogger.info("Inside makeComment API..");
logger.info("Inside makeComment");
let timestamp = new Date().getTime();
let latestCommentID = timestamp.toString();
console.log("comment ID generated is "+latestCommentID);
res.json({
'makeComment': 'success',
'commentid':latestCommentID
});
});
Run Code Online (Sandbox Code Playgroud)
现在,如果多个并发请求来到这个 API,会发生什么?
据我了解,NodeJS 会为请求维护一个事件队列,并一一处理请求。
因此,不可能为两个不同的请求获得相同的时间戳。
请让我知道我的理解是否正确?
编辑1:
google了一段时间,得到了这个链接,里面的一些概念解释的很清楚。