Nodejs實現父程序與子程序資源共享

2021-06-25 18:25:12 字數 751 閱讀 5585

實驗目標:實現父程序與子程序間資源共享

使用模組:cluster 

簡介:建立node

集群,實現多程序,利用

child_process

來實現ipc

,解決多核利用率

,提高效能。

原理: 

1 master-worker主從模式的多程序架構

2 fork()複製程序,充分利用

cpu資源(根據核心數決定)

3 每個程序都有自己的區域,如果在各自區域內執行操作,資源並未共享。通過監聽

message

事件和send

實現訊息傳遞,達到資源共享的效果

4  globaldataerror為錯誤的資源共享方式, 

globaldatasuccess

為正確的資源共享方式。

實現**:

var cluster = require('cluster');

var cpus = require('os').cpus();

// 傳遞的事件名

var triggerevent =

// 錯誤的資料共享方式

var globaldataerror = 0;

if (cluster.ismaster)

});} console.log('master globaldataerror = ', globaldataerror);

} else

父程序與子程序管道

int main else return 0 先在父程序中建立管道,然後建立子程序,子程序複製了父程序管道檔案的檔案描述符,所以父程序和子程序各具有2個管道描述符,當在子程序中關閉讀端,這時關閉的是子程序中管道檔案的讀端,而父程序的讀端沒有關閉,這時子程序往寫段寫資料的時候,因管道讀端未完全關閉,所...

子程序與父程序的簡單應用

示例 在單核處理器裡,絕對的多程序是不存在的,那為什麼大家說也有多程序的存在,單核處理器的多程序實際上使用時間分配的概念做的,如果有同時有幾個程式要跑,那麼處理器就去分配一下。不是絕對的,大家一起執行,多核處理器的程序一般是絕對的,就是大家一起跑。同時進行。為什麼要有用多程序,使用多程序能更好的提高...

子程序父程序檔案共享

父子程序全域性變數不共享 寫時複製,讀時共享 檔案父子共享,而且關閉時父子程序都要close fd 我的理解是 雖然fork前的 只執行一次,但是建立子程序時複製使用者空間,此時檔案的狀態一同複製了 驗證父子程序,檔案共享 int main int argc,char ar else if pid ...