🗊Презентация Условные переменные

Нажмите для полного просмотра!
Условные переменные, слайд №1Условные переменные, слайд №2Условные переменные, слайд №3Условные переменные, слайд №4Условные переменные, слайд №5Условные переменные, слайд №6Условные переменные, слайд №7Условные переменные, слайд №8Условные переменные, слайд №9Условные переменные, слайд №10Условные переменные, слайд №11Условные переменные, слайд №12Условные переменные, слайд №13

Вы можете ознакомиться и скачать презентацию на тему Условные переменные. Доклад-сообщение содержит 13 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Архитектура ЭВМ.
Операционные системы
Власов Е.Е.
Описание слайда:
Архитектура ЭВМ. Операционные системы Власов Е.Е.

Слайд 2





Условные переменные
Условные переменные используются для того, чтобы заблокировать потоки до выполнения определенных условий. Условные переменные применяются в сочетании мьютексам, чтобы несколько потоков могли ожидать момента выполнения одного условия. 
Сначала поток блокирует мьютекс, но и сам блокируется с помощью системного вызова ожидания условно переменной до момента выполнения условия. На то время, пока поток заблокирован, установленная им блокировка мьютекса автоматически снимается. Когда другой поток выполняет поставленное условие, он дает условной переменной сигнал (не имеющий отношения к сигналам unix) о разблокировании  первого потока. После блокировки потока мьютекс автоматически устанавливается и первый поток повторно проверяет условие. Если оно не выполняется, поток опять блокируется переменной. Если условие выполняется, поток разблокирует мьютекс и выполняется дальше.
Описание слайда:
Условные переменные Условные переменные используются для того, чтобы заблокировать потоки до выполнения определенных условий. Условные переменные применяются в сочетании мьютексам, чтобы несколько потоков могли ожидать момента выполнения одного условия. Сначала поток блокирует мьютекс, но и сам блокируется с помощью системного вызова ожидания условно переменной до момента выполнения условия. На то время, пока поток заблокирован, установленная им блокировка мьютекса автоматически снимается. Когда другой поток выполняет поставленное условие, он дает условной переменной сигнал (не имеющий отношения к сигналам unix) о разблокировании первого потока. После блокировки потока мьютекс автоматически устанавливается и первый поток повторно проверяет условие. Если оно не выполняется, поток опять блокируется переменной. Если условие выполняется, поток разблокирует мьютекс и выполняется дальше.

Слайд 3





Условные переменные
Описание слайда:
Условные переменные

Слайд 4





Системные вызовы для работы условными переменными
Описание слайда:
Системные вызовы для работы условными переменными

Слайд 5





Системный вызов pthread_cond_init 
#include <pthread.h>
int pthread_cond_init (pthread_cond_t *cond const pthread_condattr_t *attr);
 
pthread_cond_t cond = PTHREAD_COND_INITIALIZER;
 
Инициализирует атрибутный объект условной переменной, заданный параметром attr, значениями, действующими по умолчанию для всех атрибутов, определенных реализацией.
Описание слайда:
Системный вызов pthread_cond_init #include <pthread.h> int pthread_cond_init (pthread_cond_t *cond const pthread_condattr_t *attr);   pthread_cond_t cond = PTHREAD_COND_INITIALIZER;   Инициализирует атрибутный объект условной переменной, заданный параметром attr, значениями, действующими по умолчанию для всех атрибутов, определенных реализацией.

Слайд 6





Системный вызов pthread_cond_wait 
#include <pthread.h>
int pthread_cond_wait(pthread_cond_t *restrict cond, pthread_mutex_t *restrict mutex);
При вызове pthread_cond_wait mutex должен быть захвачен, в противном случае результат не определен. pthread_cond_wait освобождает mutex и блокирует вызывающий поток до момента вызова другим потоком pthread_cond_signal или pthread_cond_broadcast. После пробуждения pthread_cond_wait пытается захватить mutex; если это не получается, он блокируется до того момента, пока mutex не освободят.
Описание слайда:
Системный вызов pthread_cond_wait #include <pthread.h> int pthread_cond_wait(pthread_cond_t *restrict cond, pthread_mutex_t *restrict mutex); При вызове pthread_cond_wait mutex должен быть захвачен, в противном случае результат не определен. pthread_cond_wait освобождает mutex и блокирует вызывающий поток до момента вызова другим потоком pthread_cond_signal или pthread_cond_broadcast. После пробуждения pthread_cond_wait пытается захватить mutex; если это не получается, он блокируется до того момента, пока mutex не освободят.

Слайд 7


Условные переменные, слайд №7
Описание слайда:

Слайд 8


Условные переменные, слайд №8
Описание слайда:

Слайд 9





Блокировки чтения-записи
Обычно чтение данных выполняется чаще, чем изменение и запись. В таких случаях можно заблокировать данные таким образом, чтобы несколько нитей могли одновременно считывать данные, и только одна нить могла их изменять. Для этого предназначена блокировка типа "несколько читателей, один писатель", или блокировка чтения-записи. Блокировка чтения-записи захватывается для чтения или записи, а затем освобождается. Освободить блокировку чтения-записи может только та нить, которая ее захватила.
Описание слайда:
Блокировки чтения-записи Обычно чтение данных выполняется чаще, чем изменение и запись. В таких случаях можно заблокировать данные таким образом, чтобы несколько нитей могли одновременно считывать данные, и только одна нить могла их изменять. Для этого предназначена блокировка типа "несколько читателей, один писатель", или блокировка чтения-записи. Блокировка чтения-записи захватывается для чтения или записи, а затем освобождается. Освободить блокировку чтения-записи может только та нить, которая ее захватила.

Слайд 10





Блокировки чтения-записи
Блокировки чтения-записи похожи на мьютексы, за исключением того, чтоони допускают более высокую степень параллелизма. Мьютексы могут иметь всего два состояния, закрытое и открытое, и только один поток может владеть мьютексом в каждый момент времени. Блокировки чтения-записи могут иметь три состояния: режим блокировки для чтения, режим блокировки для записи и отсутствие блокировки. Режим блокировки для записи может установить только один поток, но установка режима блокировки для чтения доступна нескольким потокам одновременно.
Описание слайда:
Блокировки чтения-записи Блокировки чтения-записи похожи на мьютексы, за исключением того, чтоони допускают более высокую степень параллелизма. Мьютексы могут иметь всего два состояния, закрытое и открытое, и только один поток может владеть мьютексом в каждый момент времени. Блокировки чтения-записи могут иметь три состояния: режим блокировки для чтения, режим блокировки для записи и отсутствие блокировки. Режим блокировки для записи может установить только один поток, но установка режима блокировки для чтения доступна нескольким потокам одновременно.

Слайд 11





Если блокировка чтения-записи установлена в режиме блокировки для записи, все потоки, которые будут пытаться захватить эту блокировку, будут приостановлены до тех пор, пока блокировка не будет снята. 
Если блокировка чтения-записи установлена в режиме блокировки для записи, все потоки, которые будут пытаться захватить эту блокировку, будут приостановлены до тех пор, пока блокировка не будет снята. 
Если блокировка чтения-записи установлена в режиме блокировки для чтения, все потоки, которые будут пытаться захватить эту блокировку для чтения, получат доступ к ресурсу, но если какой-либо поток попытается установить режим блокировки для записи, он будет приостановлен до тех пор, пока не будет снята последняя блокировка для чтения. Различные реализации блокировок чтения-записи могут значительно различаться, но обычно, если блокировка для чтения уже установлена и имеется поток, который пытается установить блокировку для записи, то остальные потоки, которые пытаются получить блокировку для чтения, будут приостановлены. Это предотвращает возможность блокирования пишущих потоков непрекращающимися запросами на получение блокировки для чтения.
Описание слайда:
Если блокировка чтения-записи установлена в режиме блокировки для записи, все потоки, которые будут пытаться захватить эту блокировку, будут приостановлены до тех пор, пока блокировка не будет снята. Если блокировка чтения-записи установлена в режиме блокировки для записи, все потоки, которые будут пытаться захватить эту блокировку, будут приостановлены до тех пор, пока блокировка не будет снята. Если блокировка чтения-записи установлена в режиме блокировки для чтения, все потоки, которые будут пытаться захватить эту блокировку для чтения, получат доступ к ресурсу, но если какой-либо поток попытается установить режим блокировки для записи, он будет приостановлен до тех пор, пока не будет снята последняя блокировка для чтения. Различные реализации блокировок чтения-записи могут значительно различаться, но обычно, если блокировка для чтения уже установлена и имеется поток, который пытается установить блокировку для записи, то остальные потоки, которые пытаются получить блокировку для чтения, будут приостановлены. Это предотвращает возможность блокирования пишущих потоков непрекращающимися запросами на получение блокировки для чтения.

Слайд 12





Блокировки чтения-записи еще называют совместноисключающими блокировками. Когда блокировка чтения-записи установлена в режиме для чтения, то говорят, что блокировка находится в режиме совместного использования.
Блокировки чтения-записи еще называют совместноисключающими блокировками. Когда блокировка чтения-записи установлена в режиме для чтения, то говорят, что блокировка находится в режиме совместного использования.
Когда блокировка чтения-записи установлена в режиме для записи, то говорят, что блокировка находится в режиме исключительного использования.
Описание слайда:
Блокировки чтения-записи еще называют совместноисключающими блокировками. Когда блокировка чтения-записи установлена в режиме для чтения, то говорят, что блокировка находится в режиме совместного использования. Блокировки чтения-записи еще называют совместноисключающими блокировками. Когда блокировка чтения-записи установлена в режиме для чтения, то говорят, что блокировка находится в режиме совместного использования. Когда блокировка чтения-записи установлена в режиме для записи, то говорят, что блокировка находится в режиме исключительного использования.

Слайд 13





Системные вызовы для БЧЗ
Описание слайда:
Системные вызовы для БЧЗ



Похожие презентации
Mypresentation.ru
Загрузить презентацию