2011-03-17 11 views
13

nodeJS'ye şu anda ulaştığı süper eşzamanlılığı veren şeyin ne olduğunu merak ediyorum. Bunlardan herhangi biriyle gerçekten hiç kullanmadım, sadece boş zamanlarımda oynadım.nodejs nasıl akıcılıktan farklıdır?

Düğümün kurabileceginiz vaat ettigi 1000'lerce baglanti gibi oldugunu düsünüyorsunuz, bunu C++ 'da dusunce ile bile yapabilirsiniz, degil mi?

cevap

25

Elbette yapabilirsin. Aslında, node.js, libevent benzeri bir olay kitaplığı olan libev kullanılarak uygulanır. Node.js'nin kendi olay odaklı sunucunuzu C++ uygulamasında yuvarlama konusundaki asıl avantajı bence, olay tabanlı tüm ayrıntıları kendiniz yazmanıza gerek kalmadan bir sunucuyu hızlı bir şekilde kullanmanız ve çalıştırmanız gerçekten çok kolay.

+14

Ekleyebileceğim tek şey, C++ uygulamasında, paylaşılan bellek veri yapılarını kullanan bazı çok iş parçacıklı kodları yapabileceğinizdir. Web yöneticileri şu anda ayrı süreçlere dayandığından, NodeJS'de, imkansız olacaktır. Yani, (1GB diyelim) paylaşımlı bellek yapısını kullanan bir miktar CPU yoğun hesaplamalar varsa, C++ daha uygun olabilir. Ancak, NodeJS'deki geliştirme ve süreklilik kolaylığı, C++ 'yı neredeyse her açıdan önemsiyor. – Amir