Задачи по написанию своих дедлоков
Комментарии (54)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
evggenn
19 декабря 2025, 11:11
во второй задаче ответ прошел, но это не гарантированная блокировка, а формальная. Чат гпт мне все рассказал).
Дедлок — это не просто "разный порядок локов",
а "разный порядок + одновременное удержание первого лока"
В твоём коде нет гарантии, что:
поток 1 держит this И ждёт lock
поток 2 держит lock И ждёт this
Они могут так совпасть, но чаще — не совпадают по времени.
Т.е. для гарантированного дэдлока нужно вмешаться в процесс тайминга
Т.е. без этого, как я понял, jvm так будет разрулировать потоками, что первый поток может сразу успеть захватить обе блокировки и потом отпустить их и все будет ок.
0
Юрій Якимчук
7 марта 2024, 16:47
— Розкажіть, що таке дедлок, і ми беремо вас на роботу
— Візьміть мене на роботу, тоді розповім
+26
Денис Еремейчик
7 сентября 2023, 05:43
я понял, что я ничего не понял...
+2
Grock
16 сентября 2023, 11:33
Если не спешить и разобраться что куда идет, то все встает на свои места.
+2
wokku
20 августа 2023, 10:59
Отличные задачи🤙
+4
Marta Kravchenko
7 февраля 2023, 16:17
Я правильно понимаю, что во второй задаче deadlock возникнет только если две нити будут работать с одним(!) экземпляром класса Solution? в отличии от первой задачи, где две нити работают с двумя экземплярами
0
Алимгулов Расим Java Developer
10 апреля 2024, 09:16
Да, пришлось прийти к этому самому
0
Илюха Будущий ЮниорJava - стажёр в ASTON
1 октября 2024, 09:43
А я то думал просто скопипастили задачу, спасибо
0
Ольга Строганова
15 августа 2025, 14:49
А как проверили, что дедлок реально возникает? Поставили взаимные вызовы методов, а что в main написали? У меня и с одним объектом Solution не возникает никакой блокировки.
0
Никита Небольсин
22 октября 2022, 16:00
Начинайте решение с третьей задачи - там все просто и понятно и к тому же есть возможность, посмотреть к deadlock выглядит в действии
+2
Igor Petrashevsky
22 июня 2022, 15:36
мучаешься, разбираешь исходник, потом читаешь задание и вот оно решение, под носом
+2
LuneFoxJava Developer в BIFITExpert
7 октября 2021, 16:24
Замечательно!
Если мы знаем, как именно мы что-то сломали, то мы точно знаем, что именно надо починить.
+2
Valua Sinicyn
8 января 2021, 08:02
Две из трех задач, про драку и дружбу двух котов.
+2
Pig ManГлавная свинья в Свинарнике
22 декабря 2020, 11:48
Понял, что дэдлок я сам вряд ли увижу, хотя и знаю, что это..
+5