Задать вопрос
31 августа, 18:30

Пусть имеются два параллельных процесса. В одном выполняется код P (S1) ; P (S2), в другом - код P (S2) ; P (S1), где S1 и S2 - семафоры. Как будет вести себя программа?

+2
Ответы (1)
  1. 31 августа, 19:17
    0
    Все зависит от того, что обеспечивают эти семафоры.

    1. Семафоры обеспечивают синхронизацию потоков. Тогда будут выполнены P (S!) в первом потоке и P (S2) во втором, причем более быстрый процесс подождет, а затем работа пойдет одновременно с точки P (S2) в первом потоке и P (S1) во втором.

    2. Семафоры захватывают ресурсы. В этом случае произойдет взаимная блокировка. Например, P (S2) в первом потоке будет ждать некоего ресурса, захваченного вторым потоком, а P (S1) во втором потоке - ресурса, захваченного первым потоком.

    3. Семафоры запрещают одновременное выполнение некоторого общего участка кода. Также возможна взаимная блокировка по принципу, описанному выше.
Знаете ответ на вопрос?
Не уверены в ответе?
Правильный ответ на вопрос 👍 «Пусть имеются два параллельных процесса. В одном выполняется код P (S1) ; P (S2), в другом - код P (S2) ; P (S1), где S1 и S2 - семафоры. ...» по предмету 📗 Информатика. Развернутая система поиска нашего сайта обязательно приведёт вас к нужной информации. Как вариант - оцените ответы на похожие вопросы. Но если вдруг и это не помогло - задавайте свой вопрос знающим оппонентам, которые быстро дадут на него ответ!
Искать готовые ответы