06.12.2001, 20:00 | #1 |
Administrator
|
HB_Tutorial_DBLock - пример действий, приводящих к DeadLock
Описание Проект создан в дополнение к статье Базы знаний DeadLock . Используйте его в качестве примера, иллюстрирующего эту статью. Использование Проект состоит из двух примеров. Форма HB_Tutorial_DBLock_Unconditional. Запустив эту форму в двух приложениях, достаточно скоро вы получите DeadLock. Форма модифицирует таблицы HB_Tutorial_DBLock_TableA и HB_Tutorial_DBLock_TableB в следующем порядке:
Пошаговое выполнение действий. Используйте форму HB_Tutorial_DBLock_Client для запуска конкурирующих процессов, а форму HB_Tutorial_DBLock_Control для управления ими. Форма Client может работать в следующих режимах: = Работа с одной таблицей. Процесс будет модифицировать записи только в одной таблице. = Работа с двумя таблицами. В этом режиме можно выбрать, с какой таблицы начинать блокировку (для модификации). Для управления работой процессов используется форма HB_Tutorial_DBLock_Control. В этой форме в списке автоматически появляются имена процессов, начавших транзакции. С помощью кнопок «Шаг» и «Стоп» выбранному процессу можно отправить сигнал выполнить следующий шаг или остановить работу. Для создания DeadLock запустите два работающих с двумя таблицами процесса: один из них сначала блокирует таблицу А, другой – таблицу Б. Максим Горбунов |
|