使用workerman內(nèi)置的WebServer,我在業(yè)務(wù)代碼中實現(xiàn)了兩個接口,實現(xiàn)了一個A類,其中有一個靜態(tài)屬性來保存子類實例化的對象和一個實例化的靜態(tài)方法(靜態(tài)實現(xiàn)單例),B類和C類都繼承A類;
第一個接口靜態(tài)實例方法實例化了B類,這時候查看A類的靜態(tài)屬性,其中有了B類的對象信息。
第二個接口靜態(tài)實例方法實例化了C類,這時候查看A類的靜態(tài)屬性,發(fā)現(xiàn)除了C的信息,還有B的信息。
兩個接口分兩次有間隔的請求觸發(fā)的。
我就在想,是否是workerman啟動了WebServer服務(wù),主進(jìn)程常駐了,單他也要創(chuàng)建線程去處理請求,在主進(jìn)程的線程阻塞的時候才會克隆出子進(jìn)程去處理其他的請求,然后在子進(jìn)程閑置的時候其子進(jìn)程消亡?
主要想了解的就是靜態(tài)屬性的生命周期問題。
https://wenda.workerman.net/question/29
這里有進(jìn)程模型介紹。
?
和nginx類似,主進(jìn)程派生出多個子進(jìn)程,每個子進(jìn)程獨立處理請求,進(jìn)程閑置的時候不退出,主進(jìn)程只負(fù)責(zé)監(jiān)控子進(jìn)程是否有退出情況,不負(fù)責(zé)任何請求接收或者處理。