![]() PVS-Studio, статический анализатор кода для 64-битного и параллельного программирования на Си/Си++
|
|
![]() ![]() ![]() ![]() ![]()
02.03.2010
Параллельные заметки №3 - базовые конструкции OpenMP Мы начинаем знакомить вас непосредственно с использованием технологии OpenMP и рассмотрим в этой заметке некоторые базовые конструкции.»
28.02.2010
Как стандарт C++0x поможет в борьбе с 64-битными ошибками Программисты видят в стандарте C++0x возможность использовать лямбда-функции и прочие мало понятные для меня сущности :).»
26.02.2010
Платформа автоматизации сборок CruiseControl.NET Непрерывная интеграция В ходе разработки структурно-сложных программных продуктов, в какой-то момент возникает необходимость автоматизировать процессы сборки и интеграции разрабатываемых проектов и дистрибутивов.» ![]()
10.12.2009
Вопросы и ответы по PVS-Studio (PVS-Studio FAQ) В документе собраны некоторые вопросы и ответы по анализатору кода PVS-Studio компании ООО "СиПроВер".»
09.12.2009
Вопросы и ответы по библиотеке VivaCore (VivaCore FAQ) В документе собраны некоторые вопросы и ответы по библиотеке анализа Си/Си++ кода VivaCore компании ООО "СиПроВер".»
23.11.2009
PVS-Studio: использование функции "Mark as False Alarm"
В статье приведены описание и пример использования новой функции PVS-Studio 3.40 "Mark as False Alarm" ("Пометить как ложное срабатывание").» ![]() |
Терминология![]() Взаимная блокировка
Взаимная блокировка. Deadlock. Другое название: Тупик. Ситуация в многозадачной системе, при которой несколько процессов находятся в состоянии бесконечного ожидания ресурсов, захваченных самими этими процессами. Приведем пример. Допустим в системе существуют две задачи с низким (А) и высоким (Б) приоритетом, которые используют два ресурса - X и Y. В момент времени T1 задача (А) блокирует ресурс X. Затем в момент времени T2 задачу (А) вытесняет более приоритетная задача (Б), которая в момент времени T3 блокирует ресурс Y. Если задача (Б) попытается заблокировать ресурс X (T4) не освободив ресурс Y, то она будет переведена в состояние ожидания, а выполнение задачи (А) будет продолжено. Если в момент времени T5 задача (А) попытается заблокировать ресурс Y, не освободив X, возникнет состояние взаимной блокировки - ни одна из задач (А) и (Б) не сможет получить управление.
Библиографический список
|