Публикации по теме 'deadlock'


Взаимоблокировки в C#: понимание, предотвращение и примеры кода
Введение Взаимоблокировки — распространенная проблема в многопоточном программировании, в том числе в приложениях, разработанных на C#. Взаимная блокировка возникает, когда два или более потока заблокированы, каждый из которых ожидает ресурса, удерживаемого другим потоком, что приводит к остановке программы. В этой статье мы рассмотрим концепцию взаимоблокировок, поймем их причины и изучим эффективные стратегии их предотвращения. Кроме того, мы предоставим примеры кода для..

Вопросы по теме 'deadlock'

Блокировка потока заблокирована в транзакции Hibernate
У меня есть один процесс, который создает объект базы данных, а затем запускает второй процесс. Затем он ожидает, пока второй процесс найдет и обновит объект базы данных, прежде чем завершить свою обработку и тем самым зафиксировать объект базы...
1655 просмотров

Проблема взаимоблокировки в SQL Server 2008 R2 (приложение .Net 2.0)
Рассматриваемый экземпляр Sql Server 2008 R2 - это производственный сервер OLTP с большой нагрузкой. Проблема с тупиком возникла несколько дней назад и до сих пор не решена. Мы получили отчет о взаимоблокировке Xml, в котором перечислены хранимые...
3555 просмотров

Возможно ли восстановление тупиковых ситуаций в многопоточном программировании?
Процесс имеет около 10 потоков, и все 10 потоков вошли в состояние DEADLOCK (предположим, что все ждут переменной Mutex). Как вы можете освободить процесс (потоки) из состояния DEADLOCK? . Есть ли способ убить поток с более низким приоритетом? (В...
1504 просмотров

С++ выяснить, подключен ли отладчик
Я использую stackwalk64 для создания трассировки стека для C++ в Visual Studio 2008 с использованием последних версий symchk.exe и dbghlp.dll. Это отлично работает, когда я запускаю автономный exe. Однако, когда отладчик подключен, я блокирую...
11346 просмотров
schedule 01.03.2024

Какой запрос вызывает взаимоблокировку при попытке получить блокировку; попробуйте перезапустить транзакцию
Я не могу понять, какой запрос вызывает Deadlock found when trying to get lock; try restarting transaction . Моя оболочка для mysql имеет следующие строки if (mysql_errno($this->conn) == 1213) { $this->bug_log(0,"Deadlock....
9068 просмотров
schedule 31.05.2024

Заставить Hibernate не использовать sp_execute для не-запросов
Есть ли способ заставить Hibernate не использовать sp_execute? Рассмотрим этот код String queryString = "SET DEADLOCK_PRIORITY LOW;"; SQLQuery query = session.createSQLQuery(queryString); return query.executeUpdate(); Он превращается в...
818 просмотров

Тупик в гибернации
Тупик в веб-сервисе + спящий режим ... Не знаю почему. У меня есть следующий код веб-службы (основной код функции) public String createImageRecipe(...) { Session session = ICDBHibernateUtil.getSessionFactory().getCurrentSession(); try...
4600 просмотров
schedule 12.10.2022

Пример избегания тупика
Мне интересно, каковы альтернативные способы избежать тупика в следующем примере. Следующий пример представляет собой типичную проблему тупика при переводе банковского счета. Каковы некоторые из лучших подходов к ее решению на практике? class...
11424 просмотров

gtest зависает во время деконструкции прибора, когда макет возвращает макет в качестве значения по умолчанию
Я обнаружил странное поведение, которое не могу ни понять, ни устранить. У меня есть фабрика FooFactory, которая поставляет некоторые реальные объекты типа Foo . Чтобы проверить вызовы методов Foo objects, я издевался над FooFactory таким...
1894 просмотров
schedule 10.10.2023

Проблемы с реализацией алгоритма обнаружения взаимоблокировок
У меня все разобралось, за исключением одной конкретной путаницы относительно: если Allocation i != 0, то Finish[i] := false; в противном случае Finish[i] := true. Означает ли это, что сумма этой конкретной строки равна нулю или что?...
438 просмотров
schedule 21.12.2023

Интерпретация дампа потока tomcat и диагностика взаимоблокировки
У меня есть следующий дамп потока (см. ниже), и я не уверен, есть ли у меня взаимоблокировка. Кто-нибудь может посоветовать? 2013-03-22 08:52:59 Full thread dump Java HotSpot(TM) 64-Bit Server VM (23.7-b01 mixed mode): "Attach Listener" daemon...
6116 просмотров
schedule 06.04.2024

Может ли операция INSERT привести к тупиковой ситуации?
Предполагая: Я использую изоляцию транзакций REPEATABLE_READ или SERIALIZABLE (блокировки сохраняются каждый раз, когда я обращаюсь к строке) Мы говорим о нескольких потоках, одновременно обращающихся к нескольким таблицам. У меня есть...
39798 просмотров
schedule 05.04.2024

Обнаружение взаимоблокировок WinForms application
у нас есть довольно большое настольное приложение winforms. Наше приложение время от времени заходит в тупик, и мы не знаем, как это происходит. Мы знаем, что это вызвано операцией блокировки. Итак, у нас довольно много таких частей кода:...
318 просмотров
schedule 20.10.2023

Ошибка взаимоблокировки Oracle
*** 2014-04-29 05:48:49.364 DEADLOCK DETECTED ( ORA-00060 ) [Transaction Deadlock] The following deadlock is not an ORACLE error. It is a deadlock due to user error in the design of an application or from issuing incorrect ad-hoc SQL. The...
237 просмотров

Если два потока используют Pulse и Wait для взаимодействия, это может привести к взаимоблокировке.
В основном load() предназначен для производителя (есть один и только один поток диспетчера, который загружает _tickQueue), а выгрузка - для потребителя (есть один и только один выделенный поток, выполняющий функцию). _tickQueue — это обычная очередь,...
114 просмотров
schedule 13.11.2022

java.net.Socket › InputStream › BufferedReader.read(char[]) блокирует поток
Я пытаюсь использовать метод BufferedReader.read(char[]) вместо более простого, но менее универсального метода BufferedReader.readLine() для получения ответа от сервера. BufferedReader используется параллельно с BufferedOutputStream, и в приведенном...
840 просмотров
schedule 12.01.2024

Тупик при синхронизации двух простых скриптов python3 с использованием 0mq (ZeroMQ)
Я получаю этот странный тупик, когда пытаюсь синхронизировать два скрипта python3 с помощью 0mq ( ZeroMQ ). Скрипты нормально работают несколько тысяч итераций, но рано или поздно оба останавливаются и ждут друг друга. Я запускаю оба сценария из...
753 просмотров

Тупиковая блокировка исключения TcpClient
У меня есть любопытное поведение в некотором коде, который я унаследовал - упрощенный пример ниже, который демонстрирует проблему, если он встроен в обычное консольное приложение. WhoIs достигает своего разрешения на 5-м вызове - и возвращает...
387 просмотров

Параллельное получение задач из таблицы MySQL
У меня много консольных приложений, выполняющих разные задачи. Я получаю уникальную задачу из php-скрипта: $mysqli->autocommit(FALSE); $result = $mysqli->query("SELECT id, task FROM queue WHERE locked = 0 LIMIT 1 FOR UPDATE;"); while($row...
91 просмотров
schedule 01.05.2024

Oracle 12c - обнаружение ошибки взаимоблокировки ORA-04020 не работает должным образом
Мы часто сталкиваемся с взаимоблокировками при обработке XML-файлов, и до тех пор, пока мы не исправим их, мы решаем проблему, немедленно повторно обрабатывая файл при возникновении взаимоблокировки. Вот как выглядит мой обработчик исключений:...
1126 просмотров
schedule 07.08.2022