回覆列表
  • 1 # 棉花蟲

    P(S)和V(S)操作原語描述如下:

      voidp(S)

      structsemaphoreS;

      {

      S.value=S.value-1;

      if(S.value<0)block(S.P);

      }

      voidv(S)

      structsemaphoreS;

      {

      S.value=S.value+1;

      if(S.value<=0)wakeup(S.P);

      }

    (PV操作的含義:PV操作由P操作原語和V操作原語組成(原語是不可中斷的過程),對訊號量進行操作,具體定義如下:

    P(S):①將訊號量S的值減1,即S=S1;

    ②如果S0,則該程序繼續執行;否則該程序置為等待狀態,排入等待佇列。

    V(S):①將訊號量S的值加1,即S=S+1;

    ②如果S>0,則該程序繼續執行;否則釋放佇列中第一個等待訊號量的程序。

    PV操作的意義:我們用訊號量及PV操作來實現程序的同步和互斥。PV操作屬於程序的低階通訊。)

  • 中秋節和大豐收的關聯?
  • 小兒晚上睡覺鼻子有時間有些塞是什麼原因?