2012-02-05 55 views
0

檢查出以下模塊,用於連接到MySQL數據庫:Node.js的MySQL的模塊 - 異步IO或者只是線程

https://github.com/sidorares/nodejs-mysql-native

http://github.com/felixge/node-mysql

http://github.com/Sannis/node-mysql-libmysqlclient

他們真的使用異步IO或者他們只是使用綠色線程?

謝謝!

+2

爲什麼人們對這個概念有困難:* node.js *中沒有線程? – 2012-02-05 17:56:42

+0

@ElfSternberg沒有笑話:http://stackoverflow.com/questions/9151788/ – 2012-02-05 20:17:22

回答

3

前兩個是基於JS的。我相信他們都使用事件,但也採取回調。最後一個使用lib_eio進行回調並在C++方法結束時觸發它。

JS land中的節點沒有線程。節點在事件循環中運行。這就是爲什麼等待響應或延遲(網絡調用,FS讀/寫等)爲異步的任務非常重要。

如果這些數據庫驅動程序不是因爲它們會阻止執行線程,直到它們收到來自mysql的響應,那麼它們將會毫無用處。