2014-05-10 39 views
0

我在想 - 因爲node.js在單線程中運行,如果我想要做一些算術上難度很大的計算(hard_and_complex_function()),那與I/O無關,但需要很多時間?我可以讓它無阻塞嗎?與多線程技術相比,它不是一個缺點 - 我可以在單獨的線程中簡單地運行它?如何製作需要時間非阻塞的活動?

回答

0

當你關於線程正確,你至少有兩種選擇,可能手頭解決你的問題:

  1. 使用process.nextTick()以產生CPU在長時間計算中的適當點。
  2. 使用單獨的過程(使用child_processCluster)來執行長時間計算。

您可能還希望,以備將來使用,請參閱Generators和yield進入ES6。