パソコン系@iに戻る
レスを初めから見る
いま注目の「サーバサイドJavaScript」
6 名無しさん 2011/03/01(Tue) 03:00
ノンブロッキングI/O
ノンブロッキングI/Oとは、データの送受信(I/O)が完了を待たずに、他の処理を開始する処理方式のことです。非同期で処理が並列に実行されるため、ある処理の完了を待って、次の処理を行いたい場合は、コールバックを使用する必要があります。
つまり、イベントループとは、イベントが発生したタイミングでコールバックで呼び出される仕組みのことです。イベントループを使用すれば、スレッドは1つで済むため、メモリ使用率はクライアント数には比例しません。良いこと尽くめのアークテクチャのような気がしますが、デメリットももちろんあります。処理を必ずノンブロッキングで行わないといけないということです。もしブロックしてしまった場合、イベントループ全体の処理が止まってしまいます。
イベントループの実装は、「Twisted」(Python製)、「EventMachine」(Ruby製)など、いろいろありますが、PythonやRubyを使う場合、一緒に使うライブラリがブロックしないか注意が必要です。
その点node.jsでは、記述言語としてJavaScriptを採用しています。シングルスレッドとノンブロッキングI/Oという特徴をJavaScript自体が持っているため、非常に相性が良いのです。
次ページからは、実際にnode.jsをインストールしてサンプルプログラムを作成してみましょう。
http://www.atmarkit.co.jp/fwcr/rensai2/nodejs01/01.html
前の5件
次の5件
戻る
レスを初めから見る