Тупики
Тупики
Тупик (deadlock) неприятное, но хорошо определяющее ситуацию (в которую никому не захочется попасть) слово. Предположим, что на Рабочей станции А и на Рабочей станции В работают различные программы, которым необходимо произвести модификации в одной и той же паре файлов на сервере. Каждой из программ необходимо осуществить захват файлов для модификации данных в них. Пусть примерно одновременно эти программы достигают такого момента, когда они должны произвести эти изменения. Последовательность их действий в тупике будет выглядеть следующим образом:
1. Программа А произвела захват файла 1.
2. Программа А осуществила запись в файл 1 данных, которые в точности должны повториться в файле 2.
3. Программа В произвела захват файла 2.
4. Программа В осуществила запись в файл 2 данных, которые в точности должны повториться в файле 1.
5. Программа А безуспешно пытается произвести захват файла 2.
6. Программа В безуспешно пытается произвести захват файла 1.
Для выхода из такой ситуации необходимо произвести рестарт обеих рабочих станций, который приведет к тому, что оба файла окажутся модифицированными лишь частично, причем несогласованным образом.
Если вы столкнетесь с подобной ситуацией, то, наверняка, помянете недобрым словом разработчика (или поставщика) программного обеспечения, так как устранение возможности тупика лежит целиком на совести программиста. Иногда можно удостовериться в том, что такая неприятность действительно произошла, сходив на файл-сервер и просмотрев на его дисплее открытые в настоящее время файлы и захваченные в них записи.
Обсуждение Компьютерные сети
Комментарии, рецензии и отзывы