В задании написано: "Сделайте так, чтобы оба метода могли выполняться одновременно двумя различными тредами."
можете объяснить почему когда мы делаем synchronized(lock) {return val1 + val3). Почему с этим методом могут работать 2 треда, он же synchronized
maxosad
28 уровень
Можете объяснить решение
Решен
Комментарии (2)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Ян
4 июля 2021, 17:29решение
когда ты пишешь в объявлении метода synchronized, то это значит, что в этот метод нить не может зайти(а соответственно и начать выполнять), пока не освободится мютекс объекта. а если ты пишешь внутри метода блок synchronized, то внутрь этого метода могут зайти несколько нитей, т.е. по факту метод выполняется несколькими нитями(пока не дойдёт до блока synchronized)
+2
FrUshak Java Developer
23 июня 2021, 20:47
Я не знаю описания задачи, но может дело в том, что синхронизирован только метод объекта?
0