Запитання з тегом «deadlock»

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


8
Як уникнути mysql 'Тупик, виявлений при спробі заблокувати; спробуйте перезапустити транзакцію "
У мене є таблиця innoDB, яка записує користувачів в Інтернеті. Користувач оновлює його при оновленні кожної сторінки, щоб відстежувати, на яких сторінках вони перебувають, та останню дату доступу до сайту. Потім у мене є крон, який працює кожні 15 хвилин для ВИДАЛЕННЯ старих записів. У мене виявлено "Тупик, знайдений при …
286 mysql  deadlock 

3
очікуємо 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 Task<string> Bar() { return await Foo(); } public async static …

7
Рекурсивний блокування (Mutex) проти нерекурсивного блокування (Mutex)
POSIX дозволяє мютексам бути рекурсивними. Це означає, що однаковий потік може двічі заблокувати один і той самий файловий файл і не матиме тупикової ситуації. Звичайно, його також потрібно розблокувати двічі, інакше жодна інша нитка не зможе отримати мутекс. Не всі системи, що підтримують pthreads, також підтримують рекурсивні мютекси, але якщо …

17
Що таке тупик?
Під час написання багатопотокових програм однією з найпоширеніших проблем є тупикові місця. Мої запитання до громади: Що таке тупик? Як ви їх виявляєте? Ви справляєтесь з ними? І нарешті, як ви запобігаєте їх виникненню?

5
"очікувати" працює, але виклик завдання. Результат зависає / тупики
У мене є наступні чотири тести, і останній висить, коли я його запускаю. Чому це відбувається: [Test] public void CheckOnceResultTest() { Assert.IsTrue(CheckStatus().Result); } [Test] public async void CheckOnceAwaitTest() { Assert.IsTrue(await CheckStatus()); } [Test] public async void CheckStatusTwiceAwaitTest() { Assert.IsTrue(await CheckStatus()); Assert.IsTrue(await CheckStatus()); } [Test] public async void CheckStatusTwiceResultTest() { Assert.IsTrue(CheckStatus().Result); …
126 c#  nunit  task  deadlock  async-await 


4
Причина того, що процес є жертвою тупикової ситуації
У мене є процес із Select, який потребує тривалого часу, на замовлення від 5 до 10 хвилин. Наразі я не використовую NOLOCK як підказку до двигуна бази даних MS SQL. У той же час у нас є ще один процес, який здійснює оновлення та вставки в ту саму базу даних …

5
Приклад асинхронізації / очікування, що спричиняє глухий кут
Я натрапив на кілька найкращих практик асинхронного програмування з використанням ключових слів async/ awaitключових слів (я знайомлюсь із c # 5.0). Однією з наведених порад було наступне: Стабільність: знайте свої контексти синхронізації ... Деякі контексти синхронізації не є ретрансляційними та однопотоковими. Це означає, що в даний момент часу в контексті …

6
Термінал C ++ викликається без активного винятку
Я отримую помилку C ++ з потоками: terminate called without an active exception Aborted Ось код: #include <queue> #include <thread> #include <mutex> #include <condition_variable> template<typename TYPE> class blocking_stream { public: blocking_stream(size_t max_buffer_size_) : max_buffer_size(max_buffer_size_) { } //PUSH data into the buffer blocking_stream &operator<<(TYPE &other) { std::unique_lock<std::mutex> mtx_lock(mtx); while(buffer.size()>=max_buffer_size) stop_if_full.wait(mtx_lock); buffer.push(std::move(other)); …

28
Прості приклади тупикової ситуації
Я хотів би пояснити новачкам тупикові ситуації. У минулому я бачив багато прикладів тупикових ситуацій, деякі з яких використовували код, а інші - ілюстрації (наприклад, знамениті 4 машини ). Є також класичні проблеми, що легко заходять у глухий кут, такі як The Dining Philosophers , але вони можуть бути занадто …

3
Як зловити 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 transaction. …

3
Чому паралельний потік з лямбда-сигналом у статичному ініціалізаторі спричиняє глухий кут?
Я натрапив на дивну ситуацію, коли використання паралельного потоку з лямбда-сигналом у статичному ініціалізаторі триває, здавалося б, назавжди без використання процесора. Ось код: class Deadlock { static { IntStream.range(0, 10000).parallel().map(i -> i).count(); System.out.println("done"); } public static void main(final String[] args) {} } Здається, це мінімальний відтворювальний тест для такої поведінки. …

13
Напишіть програму, яка напевно зайде в глухий кут [закрито]
Закрито . Це питання має бути більш сфокусованим . Наразі відповіді не приймаються. Хочете покращити це питання? Оновіть питання, щоб воно зосереджувалось на одній проблемі, лише відредагувавши цю публікацію . Закрито 5 років тому . Удосконалюйте це питання Нещодавно це запитання я задав в інтерв’ю. Я відповів, що глухий кут …

8
Як реалізувати блокування в JavaScript
Як можна lockв JavaScript реалізувати щось еквівалентне в C #? Отже, щоб пояснити, на що я думаю, простий варіант використання: Користувач натискає кнопку B. Bвикликає подію onclick. Якщо Bє у event-stateвипадку, чекає, поки Bвін буде ready-stateперед розмноженням. Якщо Bввімкнено ready-state, Bзаблоковано та встановлено значення event-state, тоді подія поширюється. Коли розповсюдження …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.