powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / как узнать дедлок?
13 сообщений из 13, страница 1 из 1
как узнать дедлок?
    #39191123
lor2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
собссно вопрос в теме :) у меня несклько потоков в дедлоке. как узнать что они в дедлок встали? инструмент и т.п. но ессно без иде. когда это всё крутится скажем на томкате.
...
Рейтинг: 0 / 0
как узнать дедлок?
    #39191128
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lor2,

Зависит от того на чем блокируются. Если обычный Lock/synchronized, то без проблем. По дампу потока видно захваченые им ресурсы. Проанализировав дамп, можно найти взаимоблокировки. Примеров в гугле полно.
Если же блокировки на уровне БД, то уже сложнее.
...
Рейтинг: 0 / 0
как узнать дедлок?
    #39191139
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczЕсли же блокировки на уровне БД, то уже сложнее.
Аналогично:
BlazkowiczПо дампу ... видно захваченые им ресурсы. Проанализировав дамп, можно найти взаимоблокировки. Примеров в гугле полно.
По крайне мере в Oracle. В большинстве случаев Deadlock самым ядром БД будет распознаваться (две транзакции встали в dead lock), или посмотреть запросом какие сессии, что держат.

AFAIK
...
Рейтинг: 0 / 0
как узнать дедлок?
    #39191148
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid KudryavtsevПо крайне мере в Oracle. В большинстве случаев Deadlock самым ядром БД будет распознаваться (две транзакции встали в dead lock), или посмотреть запросом какие сессии, что держат.

Посмотреть нет проблем практически нигде. Вопрос в том как автоматизировать. Ну, и у Oracle с этим больших проблем нет. А у какого-нибудь MySQL, который на каждый чих блокирует всё до чего дотянется, с тем сложнее.
...
Рейтинг: 0 / 0
как узнать дедлок?
    #39191172
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lor2,
действительно.
Нагружайте базу снаружи каким нибудь тестером.
И не забивайте голову термином дедлок от админов (не от программистов).
Будет тормозить Программа - будете копать.
...
Рейтинг: 0 / 0
как узнать дедлок?
    #39191257
lor2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
стоп-стоп. можно на пальцах. допустим, я сделал сервлет, сделал его криво там внутри намутил многопоточку, и потоки сами себя поблокировали, речь о блоках синхронайзд, не о бд. ну окей, я это увижу в иде, в ней всякие прикольные инструменты есть. а вот когда там на удаленке на томкате??
...
Рейтинг: 0 / 0
как узнать дедлок?
    #39191264
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lor2а вот когда там на удаленке на томкате??
Определитесь, пожалуйста. Вам именно на удаленный сервер анализировать, или автоматически взаимоблокировки разруливать?
На удаленный сервер, можно из VisualVM подцепиться - посмотреть. Можно через JMX снять дамп потоков.
...
Рейтинг: 0 / 0
как узнать дедлок?
    #39191266
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и никто не мешает отладчиком к удаленному серверу присоединиться.
...
Рейтинг: 0 / 0
как узнать дедлок?
    #39191267
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
как узнать дедлок?
    #39191506
lor2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
благодарю :)

нашел кнопку контрл-брейк :) там всё написано. если блокед то блокед.
...
Рейтинг: 0 / 0
как узнать дедлок?
    #39191515
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lor2нашел кнопку контрл-брейк :) там всё написано. если блокед то блокед.
Это называется Thread Dump. Ctrl+Break это только под виндой и только с консолью.
Если поток "блокед" это ещё не значит что мы в deadlock.
...
Рейтинг: 0 / 0
как узнать дедлок?
    #39191739
lor2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz,

кстати, по третьему пункту хотел высказаться. он примерно в таком виде ко мне в голову и пришел. чтоб высекать дедлоки но мне сказали что это всё фигня и это неверный подход.
...
Рейтинг: 0 / 0
как узнать дедлок?
    #39191742
lor2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
пардон, четвертом.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / как узнать дедлок?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]