このコードがあるとしましょう:
function fn(n)
{
return function()
{
for(var k = 0; k <= 1000; ++k) {
fs.writeSync(process.stdout.fd, n+"\n");
}
}
}
setTimeout(fn(1), 100);
setTimeout(fn(2), 100);
と が交換可能に印刷される可能性は1
ありますか(例: )?2
stdout
12121212121...
私はこれをテストしましたが、それらは互換的に表示されませんでし1111111...222222222...
た111111211111...2222222...
.
つまり、Node.js にいくつかのコールバックとイベント ハンドラを登録すると、2 つのコールバックを同時に実行できますか?
(これは 2 つのプロセスを起動することで可能になることはわかっていますが、その場合は 2 つstdout
になり、上記のコードは別のファイルに分割されます。)
別の質問: ノードを忘れて一般的に言えば: 単一プロセス上の任意の言語で、2 つの関数をまったく同時に (つまり、上記と同じ方法で) 実行することは可能ですか?