Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Типовые задачи синхронизации



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. Проблема спящего брадобрея (упрощ вариант задач о парикмахерской)

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






Дата публикования: 2014-11-04; Прочитано: 431 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.014 с)...