АкушерствоАнатомияАнестезиологияВакцинопрофилактикаВалеологияВетеринарияГигиенаЗаболеванияИммунологияКардиологияНеврологияНефрологияОнкологияОториноларингологияОфтальмологияПаразитологияПедиатрияПервая помощьПсихиатрияПульмонологияРеанимацияРевматологияСтоматологияТерапияТоксикологияТравматологияУрологияФармакологияФармацевтикаФизиотерапияФтизиатрияХирургияЭндокринологияЭпидемиология

Пример тупика на ресурсах типа CR

Прочитайте:
  1. HLA- DR, DQ, DP. В этой же зоне находятся и другие гены: например, DN, DO, продукты которых пока не известны.
  2. III. После этого раненую конечность лучше всего зафиксировать, например, подвесив на косынке или при помощи шин, что является третьим принципом оказания помощи при ранениях.
  3. IV. Порядок проведения и примерное распределение времени
  4. Адгезивные молекулы (молекулы суперсемейства иммуноглобулинов, интегрины, селектины, муцины, кадхерины): строение, функции, примеры. CD-номенклатура мембранных молекул клеток.
  5. Актуальный пример разработки программы в случае моббинга
  6. Алгоритм обнаружения тупика по наличию замкнутой цепочки запросов
  7. Алоэ Вера питьевой гель LR - Примеры выздоровлений.
  8. Амбивалентность (двойственность) - одновременное возникновение и сосуществование двух взаимно противоположных чувств (например, любовь и ненависть).
  9. Амплитуда зубца составляет примерно 10 mV
  10. Антагонизм. Разновидности. Примеры.

Пусть имеются три процесса ПР1, ПР2 и ПРЗ, которые вырабатывают соответ­ственно сообщения Ml, M2 и МЗ. Эти сообщения представляют собой ресурсы


типа CR. Пусть процесс ПР1 является «потребителем» сообщения МЗ, процесс ПР2 получает сообщение Ml, а ПРЗ - сообщение М2 от процесса ПР2, то есть каждый из процессов является и «поставщиком» и «потребителем» одновременно, и вместе они образуют «кольцевую» систему (рис. 7.2) передачи сообщений че­рез почтовые ящики (ПЯ). Если связь с помощью этих сообщений со стороны каждого процесса устанавливается в порядке, изображенном в листинге 7.1, то никаких трудностей не возникает. Однако перестановка этих двух процедур в каждом из процессов (листинг 7.2) вызывает тупик:

Листинг 7.1. Вариант без тупиковой ситуации

ПР1:

ПОСЛАТЬ СООБЩЕНИЕ (ПР2. Ml. ПЯ2); ВДАТЬ С09БЩЕНИЕ (ПРЗ, МЗ. ПЯ1);

ПР2:

ПОСЛАТЬ СООБЩЕНИЕ (ПРЗ. М2. ПЯЗ); «ДАТЬ СООБЩЕНИЕ (ПР1. Ml. ПЯ2):

ПРЗ:

ПОСЛАТЬ СООБЩЕНИЕ (ПР1. МЗ. ПЯ1); ЖДАТЬ СООБЩЕНИЕ (ПР2, М2. ПЯЗ);

Листинг 7.2. Вариант с тупиковой ситуацией

ПР1:

;ВДАТЬ СООБЩЕНИЕ (ПРЗ. МЗ. ПЯ1): ПОСЛАТЬ СООБЩЕНИЕ (ПР2, Ml. ПЯ2):

ПР2:

ЖДАТЬ СОО&ЩЕНИЕ (ПР1. Ml. ПЯ2); ПОСЛАТЬ СООБЩЕНИЕ (ПРЗ. М2, ПЯЗ);


ПРЗ:

ЖДАТЬ СООБЩЕНИЕ (ПР2. М2. ПЯЗ); ПОСЛАТЬ СООБЩЕНИЕ (ПР1. МЗ. ПЯ1);

В самом деле, во втором варианте ни один из процессов не сможет послать сооб­щения до тех пор, пока сам его не получит, а этого события никогда не произой­дет, поскольку ни один процесс не может этого сделать.


Дата добавления: 2015-01-18 | Просмотры: 528 | Нарушение авторских прав



1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |



При использовании материала ссылка на сайт medlec.org обязательна! (0.004 сек.)