Вопросы с тегом «deadlock»

Ситуация, когда две (или более) операции нуждаются в перекрывающихся наборах ресурсов, и ни одна из них не может быть завершена, поскольку они не могут получить все блокировки, необходимые для завершения операции и снятия своих блокировок.

286
Как избежать mysql 'Deadlock найден при попытке получить блокировку; попробуйте перезапустить транзакцию

У меня есть таблица innoDB, которая записывает пользователей онлайн. Он обновляется при каждом обновлении страницы пользователем, чтобы отслеживать, на каких страницах он находится, и дату их последнего доступа к сайту. Затем у меня есть cron, который запускается каждые 15 минут для УДАЛЕНИЯ старых...

197
жду vs Task.Wait - тупик?

Я не совсем понимаю разницу между Task.Waitиawait . У меня есть что-то похожее на следующие функции в службе ASP.NET WebAPI: public class TestController : ApiController { public static async Task<string> Foo() { await Task.Delay(1).ConfigureAwait(false); return ""; } public async static...

187
Рекурсивная блокировка (мьютекс) против нерекурсивной блокировки (мьютекс)

POSIX позволяет мьютексам быть рекурсивными. Это означает, что один и тот же поток может заблокировать один и тот же мьютекс дважды и не будет блокироваться. Конечно, он также должен разблокировать его дважды, иначе никакой другой поток не сможет получить мьютекс. Не все системы, поддерживающие...

159
Что такое тупик?

При написании многопоточных приложений одной из наиболее распространенных проблем являются взаимоблокировки. Мои вопросы к сообществу: Что такое тупик? Как вы их обнаруживаете? Вы справляетесь с ними? И, наконец, как вы предотвращаете их появление?...

126
'await' работает, но при вызове task.Result зависает / блокируется

У меня есть следующие четыре теста, и последний зависает, когда я его запускаю. Почему это происходит: [Test] public void CheckOnceResultTest() { Assert.IsTrue(CheckStatus().Result); } [Test] public async void CheckOnceAwaitTest() { Assert.IsTrue(await CheckStatus()); } [Test] public async void...

106
Причина того, что процесс оказался жертвой тупика

У меня есть процесс с Select, который занимает много времени, порядка 5-10 минут. В настоящее время я не использую NOLOCK в качестве подсказки для механизма базы данных MS SQL. В то же время у нас есть другой процесс, выполняющий обновления и вставки в ту же базу данных и те же таблицы. Первый...

97
Пример async / await, вызывающий тупик

Я столкнулся с некоторыми передовыми практиками асинхронного программирования с использованием ключевых слов async/ awaitслов в C # (я новичок в C # 5.0). Один из полученных советов был следующим: Стабильность: знайте свои контексты синхронизации ... Некоторые контексты синхронизации не...

94
Как отловить SqlException, вызванное тупиком?

Из приложения .NET 3.5 / C # я бы хотел поймать, SqlExceptionно только если это вызвано тупиками в экземпляре SQL Server 2008. Типичное сообщение об ошибке: Transaction (Process ID 58) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the...

92
Примеры простых тупиков

Я хотел бы объяснить новичкам многопоточность тупиков. В прошлом я видел много примеров тупиковых ситуаций, некоторые с использованием кода, а некоторые с использованием иллюстраций (например, знаменитые 4 машины ). Существуют также классические задачи, которые легко зайти в тупик, такие как The...

86
Напишите программу, которая наверняка зайдет в тупик [закрыто]

Закрыто . Этот вопрос должен быть более конкретным . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он фокусировался только на одной проблеме, отредактировав этот пост . Закрыт 5 лет назад . Уточните этот вопрос Недавно мне задали этот вопрос в...

86
Почему параллельный поток с лямбдой в статическом инициализаторе вызывает тупик?

Я столкнулся со странной ситуацией, когда использование параллельного потока с лямбдой в статическом инициализаторе, казалось бы, занимает вечность без использования ЦП. Вот код: class Deadlock { static { IntStream.range(0, 10000).parallel().map(i -> i).count(); System.out.println("done"); }...

83
Как реализовать блокировку в JavaScript

Как можно lockбыло реализовать что-то, эквивалентное C #, в JavaScript? Итак, чтобы объяснить, что я думаю, простой вариант использования: Пользователь нажимает кнопку B. Bвызывает событие onclick. Если Bв , event-stateожидает событие для Bбыть в ready-stateперед его распространением. Если Bесть...

82
Диагностика взаимоблокировок в SQL Server 2005

В базе данных Stack Overflow SQL Server 2005 мы наблюдаем некоторые пагубные, но редкие условия взаимоблокировки. Я прикрепил профилировщик, настроил профиль трассировки, используя эту отличную статью об устранении тупиковых ситуаций , и собрал множество примеров. Странно то, что тупиковая запись...