1. 程式人生 > >通過turnoff漫畫形象理解連線池,孤兒程序,殭屍程序,執行緒狀態

通過turnoff漫畫形象理解連線池,孤兒程序,殭屍程序,執行緒狀態

1.連線池

漫畫說明,連線池裡面有好多的連線,使用者通過這些連線完成查詢。好處:通過連線的重複使用,避免了每次查詢都要建立連線,節省開銷。

(這個漫畫好形象啊,之前都不怎麼懂,對連線池的認識很模糊!!!!!)

其實最重要的是這個思想: 對某個常用的東西做池化處理,能夠減少計算機的效能開銷。

2.孤兒程序和殭屍程序。

       孤兒程序:孤兒程序是指其父程序執行完成或者被終止後,仍然繼續執行的一類程序,這些孤兒程序講被 init程序(程序號為1)接管,並由init程序對它們完成狀態收集工作

        殭屍程序:一個子程序在父程序還沒有呼叫wait()或者waitpid()的情況下退出,這個子程序叫做殭屍程序。任何一個子程序(init除外)exit後,並非馬上消失掉,而是留下一個稱為殭屍程序的資料結構,等待父程序處理。這時每個子程序結束時都要經過的階段。如果子程序在exit()後,父程序還沒來得及處理,那麼保留的資訊就不會被釋放,其程序號就會一直佔用,但是作業系統中的程序號的個數是有限的。這樣會造成程序號的緊張。

        我個人理解為什麼叫做殭屍程序,因為這個程序已經結束了,現實中已經結束了;但是它的程序號還在保留,沒有被回收,在名義上這個程序還存在,只是什麼也不幹,所以它是個殭屍程序。

3.執行緒狀態


這個圖片向我們揭示了執行緒的幾種狀態: 在玩遊戲的人物狀態是RUNNING,坐在凳子上的人物狀態是RUNNABLE(Ready),正在玩的那個人下去,它就可以直接上去玩,

在排隊的那兩個執行緒是在Queue中(它們兩個的狀態我不知道怎麼描述),遠方還有兩個執行緒在睡眠(SLEEP),有一個抽菸的執行緒在“享受”,看樣子是被阻塞了(BLOCKED)