Проблема многопоточности (как узнать, когда остановиться) - несколько потоков работают над одной статической двойной переменной - PullRequest
0 голосов
/ 10 октября 2018

У меня есть класс с именем Juice, который имеет эту переменную:

private static double REMAINING_JUICE = 100d;

И у меня есть функция с именем adjustJuice, которая создает новый поток.Задерживает поток на 2 секунды, а затем уменьшает указанное выше значение статической переменной на случайную величину.

Теперь я хочу продолжать вызывать adjustJuice из моего основного метода, но останавливаться, когда не осталось сока.

Поскольку все потоки работают с одной и той же переменной - и я не знаю, на сколько будет уменьшен мой сок.Как создать цикл в моей главной функции, которая останавливается в этом состоянии?

...