【发布时间】:2014-09-06 17:36:12
【问题描述】:
当我使用 Grex 连接到 Rexster 图形服务器时,我应该保持数据库连接打开吗?
var grex = require('grex');
var client = grex.createClient();
client.connect({ graph: 'graph'}, function(err, client) {
if (err) { console.error(err); }
...
});
我想我应该这样做,因为 nodejs 是单线程的,因此不同的请求不可能同时尝试使用一个连接。
【问题讨论】:
-
JavaScript 对于普通代码是单线程的。对于异步代码(回调或事件),JS 是多线程的。
-
我认为它是一个在不同代码块之间切换的单线程。因此,如果您有一些等待回调的代码,Javascript 会在其他地方关闭,然后在完成等待某事并完成它正在运行的任何其他内容时返回到回调。但它永远不会同时运行超过一点的代码。