私のプログラムでは、サプライ変数を 2 ずつインクリメントする 1 つのスレッドがあり、別のスレッドがサプライ クラスから乱数のサプライを受け取ります。サプライ クラスは最大 5 つの値しか格納できません。スリープとサプライの要求はランダムであるため、サプライ カウントは最大制限を超えて増加する可能性があります。
私が確認しようとしているのは、その制限を超えていないということです。
これを行うより良い方法はありますか?
(疑似コード)
- 供給量を 2 増やす
- 供給が最大を超える場合は、供給を最大に割り当てます
コードは次のとおりです。
private int MAX = 5;
private int supply = 0;
public void run()
{
while(true) {
supply = supply + 2;
if(supply > MAX)
supply = MAX;
}
}