public static class Apteka implements Runnable {
@Override
public void run() {
while (!isStopped) {
drugsController.buy(getRandomDrug(), getRandomCount());
waitAMoment();
try {
Thread.sleep(300);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
public static class Person implements Runnable {
@Override
public void run() {
while (!isStopped) {
drugsController.sell(getRandomDrug(), getRandomCount());
waitAMoment();
try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
В условии написано:
7. Нить Apteka должна ждать 300мс + "между закупками", используя метод waitAMoment().
11. Нить Person должна ждать 100мс + "между закупками", используя метод waitAMoment().
Это Ошибка в условии или как?
P.S. как разработчикам донести информацию что надо в условии удалить "XVVZ
20 уровень
Почему код не верен?
Архивный
Комментарии (4)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Никита
13 ноября 2019, 08:48
У тебя уже есть готовый метод для ожидания waitAmoment() который усыпляет нить на 100 мс. К тому же в нем уже обработано исключение.
300мс + "между закупками" - походу написан как Строка при выводе (System.out.print(time + "между закупками") и это тебя сбило с толку.
И кстати один и тот же метод можно вызвать несколько раз подряд :)
Удачи в обучении!
0
Дарья
29 ноября 2017, 11:12
Смотри по заданию у тебя должно быть 300 с d в Apteka.
Ок, теперь считаем блок 'Apteka' в твоей программе:
стр 7 метод waitAmoment() дает тебе 100 с сна, потом ты говоришь в строке 9 в Аптеке поспи еще 300 с и того у тебя программа в блоке "Аптека" спит 400 с вместо 300 с, при этом используешь дублированный код:
-в функции строка 7 waitAmoment() спит нить
-со строки 9 снова спи нить.
Как то тут неправильно не находишь?
Может стоит убрать код с строки 9 в аптеке и написать, что то используя ТОЛЬКО waitAmoment().
Таже проблема с Person.
+2
Igor Minin
20 ноября 2017, 13:08
Метод waitAMoment() должен реализовывать ожидание
+3
--------Master
19 ноября 2017, 22:01
7. Нить Apteka должна ждать 300мс + "между закупками", используя метод waitAMoment().
11. Нить Person должна ждать 100мс + "между закупками", используя метод waitAMoment().
Знак "+" тут как-то не в тему поставлен - непонятно, что он должен означать)) А вообще имеется в виду, что ожидание в 300 мс и 100 мс надо организовывать с помощью указанного метода, а не напрямую через Thread.sleep
+6