■パソコン系に戻る■  最後のレスまで飛ぶ  レスを全部見る  最新レス100件を見る 業者対策用削除人募集です
いま注目の「サーバサイド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
sage  pre  等幅 書き込み後もこのスレッドに留まる
名前: メール:

■パソコン系に戻る■  ページの先頭まで飛ぶ  レスを全部見る  最新レス100件を見る   友達に教える   現在の閲覧者数:

readres.cgi ver.1.69-902
(c)megabbs
(original)