ホームページ >ウェブフロントエンド >jsチュートリアル >NodeJSの親プロセスと子プロセス間のリソース共有手順の詳細な説明
今回は、NodeJS の親プロセスと子プロセスの間でリソースを共有する手順について詳しく説明します。NodeJS の親プロセスと子プロセスの間でリソースを共有する場合の 注意事項 は何ですか?見てみましょう。
実験目標: 親プロセスと子プロセス間のリソース共有を実現する
使用モジュール: cluster
はじめに: ノードクラスターを確立し、マルチプロセス、 IPC を実装するには、マルチコアの使用率を解決し、パフォーマンスを向上させます。
原則:
1 マスター-ワーカー マスター-スレーブ モードのマルチプロセス アーキテクチャ 2 CPU リソース (コアの数によって決まる) を最大限に活用するためにプロセスをコピーする fork()
イベントをリッスンして送信することで、メッセージ配信が実現され、リソース共有
の効果が得られます。 globalDataError は間違ったリソース共有方法であり、globalDataSuccess は正しいリソース共有方法です。実装コード:
var cluster = require('cluster'); var cpus = require('os').cpus(); // 传递的事件名 var triggerEvent = { inc: 'inc', dec: 'dec' } // 错误的数据共享方式 var globalDataError = 0; if (cluster.isMaster) { // 正确的数据共享方式 var globalDataSuccess = 0; globalDataError++; // 启动多个进程,取决于内核数 for (var i = 0; i < cpus.length; i++) { var worker = cluster.fork(); worker.on('message', function(msg) { switch (msg) { case triggerEvent.inc: globalDataSuccess++; console.log('globalDataSuccess = ', globalDataSuccess); break; case triggerEvent.dec: globalDataSuccess--; console.log('globalDataSuccess = ', globalDataSuccess); break; } }); } console.log('Master globalDataError = ', globalDataError); } else { globalDataError++; console.log('Worker globalDataError = ', globalDataError); process.send(triggerEvent.dec); process.send(triggerEvent.inc); }この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、PHP 中国語 Web サイトの他の関連記事に注目してください。 推奨読書:
axios は、画像フォームを送信するための投稿リクエストを送信します
axios+post メソッドは、フォームデータを送信する手順を詳しく説明します
以上がNodeJSの親プロセスと子プロセス間のリソース共有手順の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。