国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

workerman進(jìn)程與線程的問題

chaz6chez

使用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)屬性的生命周期問題。

3748 1 0
1個回答

walkor 打賞

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é)任何請求接收或者處理。

  • chaz6chez 2018-11-16

    了解了,也就是主進(jìn)程啟動的時候,子進(jìn)程也派生好了,僅將其閑置,如遇到子進(jìn)程退出后,主進(jìn)程會補(bǔ)充。
    那也就是說各子進(jìn)程內(nèi)部的靜態(tài)屬性或方法是不會釋放,除非自己做一個回收或者是遇到子進(jìn)程退出才會被釋放,對吧?

  • walkor 2018-11-16

    是的,靜態(tài)屬性不會釋放

  • chaz6chez 2018-11-16

    @4967:找到了,是遵循PHP原有的GC方式,執(zhí)行完會執(zhí)行釋放臨時的變量

年代過于久遠(yuǎn),無法發(fā)表回答
??