Skip to Main Content
ハンズオンNode.js
book

ハンズオンNode.js

by 今村 謙士
November 2020
Beginner to intermediate content levelBeginner to intermediate
536 pages
6h 42m
Japanese
O'Reilly Japan, Inc.
Content preview from ハンズオンNode.js

4章マルチプロセス、マルチスレッド

Node.jsのイベントループによる並行処理モデルには多くのメリットがありますが、マルチコアのシステムを用いる場合、シングルスレッドのアプリケーションをそのまま動かすだけではマシンリソースを有効に活用できません。Node.jsではマルチコアシステム上でアプリケーションを効率的に動かすための仕組みとして、clusterモジュールによるマルチプロセス化の機能が提供されています。またNode.js v10以降ではworker_threadsモジュールがコアのAPIとして新たに提供されるようになり、マルチスレッドプログラミングも可能になりました。

4.1 プロセスとスレッド

コンピュータは同時に複数のプロセスを起動でき、それぞれのプロセスの内部では1つ以上のスレッドによって処理が行われます。プロセス同士は互いに独立していますが、同一のプロセス内の複数のスレッドはメモリ空間などのリソースを共有します。通信のためのチャンネルを介したプロセス間通信(Inter Process Communication、IPC)と比べ、多くのリソースを共有するスレッド同士の通信は比較的容易で効率的です。

マルチコアシステムにおいては、複数プロセスも同一プロセス内の複数スレッドも、別々のコアを使って並列に実行できます。しかし、シングルスレッドなNode.jsのプロセスを1つだけ起動した場合、それはマルチコアシステムにおいても1コア上でしか実行されません。Node.jsのプログラムはシングルスレッドでもイベントループにより並行に動作しますが、1コアしか使わなければ並列に動作することはありません。

並行(concurrent)と並列(parallel)はどちらも複数のことが同時に ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

大規模データ管理 ―エンタープライズアーキテクチャのベストプラクティス

大規模データ管理 ―エンタープライズアーキテクチャのベストプラクティス

Piethein Strengholt, 村上 列
データサイエンス講義

データサイエンス講義

Rachel Schutt, Cathy O'Neil, 瀬戸山 雅人, 石井 弓美子, 河内 崇, 河内 真理子, 古畠 敦, 木下 哲也, 竹田 正和, 佐藤 正士, 望月 啓充
アルゴリズムクイックリファレンス 第2版

アルゴリズムクイックリファレンス 第2版

George T. Heineman, Gary Pollice, Stanley Selkow, 黒川 利明, 黒川 洋

Publisher Resources

ISBN: 9784873119236Other