對于生產者和消費者在僅搶占式任務調度的OS中優先級的設定問題。對于兩個線程,假如同操作一個隊列,誰優先級高誰執行的次數多是毋庸置疑的,但這執行不一定是有效的。假如消費者優先級高,那么對它而言,大多數情況下隊列為空,它不斷的被掛起,喚醒。假如生產者優先級高,那么對它而言,大多數情況下隊列為滿,它同樣的不斷被掛起,喚醒。這樣,兩種辦法實際上都不是有效的。那么兩個線程一定要sleep,至少高優先級的一定要sleep,可sleep多長時間呢。對于消費者和生產者X,Y,假如消費者消費速率為x,sleep時間為xt,生產者生產速率為y,sleep時間為yt,隊列長度為L,那么何時總消費速率 M 最大呢?此時xt和yt分別為多少?顯然是一個規劃問題(不一定是線性的)。那么當線程個數是3,而且互相制約呢,比如有兩個Q1,Q2,對于Q1,X,Y分別是消費者和生產者,對于Q2,Y,Z分別是消費者和生產者,那么此時的最佳情況又如何呢?(一定不是平面上的線性規劃問題,三個變量嘛。)如果為 n 呢?看起來就很復雜了,有空再研究。