child process實現多程序

2021-06-28 00:51:10 字數 2912 閱讀 9334

以上示例提供了乙個斐波納契數列的計算服務,由於此計算相當耗時,且是單執行緒,當同時有多個請求時只能處理乙個,通過child_process.fork()就可以解決此問題

這裡引用一下官網上的乙個示例,通過這個例子可以很好的理解fork()的功能?

1

2

3

4

5

6

7

8

9

varcp = require('child_process');

varn = cp.fork(__dirname +'/sub.js');

n.on('message',function(m) );

n.send();

執行上述**片段的執行結果:?

1

2

parent got message:

child got message:

sub.js的內容如下:?

1

2

3

4

5

process.on('message',function(m) );

process.send();

在子程序中process物件有send()方法,同時它在每一次接收到訊息時都會發布訊息物件

有點暈的是:child.send()傳送的訊息,是由process.on()方法接收的,process.send()方法傳送的訊息是由child.on()方法接收的

參照這個例子我們就可以把第乙個提供斐波納契資料的服務進行改進,使每乙個請求都有單獨的乙個新的程序來處理?

啟動服務後,訪問http://localhost:8080/9就可以計算出9的斐波納契數列的值

nodejs的child process同步非同步

nodejs是一種單執行緒模型,但是,使用nodejs的child process模組可以實現多程序任務。利用child process可以建立子程序,實現子程序和主程序之間的通訊。nodejs v0.12.7版本child process提供以下同步和非同步的方式建立程序 非同步建立 child ...

Tomcat實現多主多備

nginx upstream 實現簡單雙機主從熱備 下面配置多主多從 upstream testproxy server nginx與上游伺服器 真實訪問的伺服器 超時時間 後端伺服器連線的超時時間 發起握手等候響應超時時間 proxy connect timeout 1s nginx傳送給上游伺服...

Apache配置實現多服務,多站點

配置apache及實現多站點 安裝好apache以後,可以在瀏覽器中輸入 http localhost 20測試,如果配置正常會顯示it s working.更改第乙個站點的根目錄 在檔案apache2.2 conf httpd.conf中查詢 documentroot 屬性,將後面的路徑改為你的主...