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