Лекция: Типовые задачи синхронизации.

1.Вз/исключение (блокировка всех процессов, кроме используемого)

2. Производители-потребители (Makers-Consumers)

Есть процессы А и В и они обмен сообщениями. Процесс А должен выводить сообщение в буфер, а В – читать сообщение

Должно быть орг-но вз/исключение (нельзя читать из пустого буфера и писать в перепол. буфер)

Симпл. метод

3.Читатели и писатели (Readers-Writers)

Между левой и прав стороной должно быть орг-но вз искл-е

Между пишущими процессами. Модель доступа к базе данных

4.Обедающие философы A-(R1;R2); B-(R2;R3); C-(R1;R3) Кольцевая схема процессов и ресурсов. В один момент времени может работать только один процесс. Ситуации:1) тупик (DeadLock); 2)бесконеч откладывание (Leave Lock); 3)

Философы либо думают независимо, либо едят пищу вилками Одноврем могут поглощать пищу только 2 философа. Вначале все берут вилку в лев руку, затем в прав. Когда вилки берут все фил-фы-тупик

  1. Проблема спящего брадобрея ( упрощ вариант задач о парикмахерской)

Когда в системе одновременно выполняется несколько независимых задач, то возникают дополнительные проблемы. Хотя потоки возникают и выполняются асинхронно, у них может возникнуть необходимость во взаимодействии, например при обмене данными. Согласование скоростей потоков также очень важно для предотвращения эффекта «гонок» (когда несколько потоков пытаются изменить один и тот же файл), взаимных блокировок или других коллизий, которые возникают при совместном использовании ресурсов. Синхронизация потоков является одной из важных функций подсистемы управления процессами и потоками.


еще рефераты
Еще работы по информатике