2012-02-03 88 views
4

我願意使用node.js實現一些服務器端代碼。同步服務器端js(node.js)

是否node.js的(JS)有任何同步inbuilt.Like我們在Java中

​​關鍵字?

我可以讓一些代碼塊synchornized嗎?這樣一次只有線程可以執行它嗎?

+2

的JavaScript通常不是多線程。 – Pointy 2012-02-03 12:27:35

回答

1

節點不使用線程。它基於一個事件機器...

所以我認爲你的問題是有點關閉..也許如果你給一個問題,你試圖解決的人在這裏可以指導你。

11

在節點中,代碼塊是同步的。節點使用協作式多任務處理;另一段代碼可以運行的唯一時間是第一段代碼返回時。這就是事件驅動設計背後的驅動力:你要求你爲某件事做得很慢(例如從一個文件讀取),然後你指定另一個函數在該慢速操作完成時運行。第一個函數返回,Node可以在等待I/O操作完成時運行其他函數。當I/O準備就緒並且所有其他功能都運行完畢時,你的延續將被調用。

當您完全控制代碼的產出時間時,不需要同步。實際上,每個功能都是同步的。