Karteikarten
7. Потоки. Средства синхронизации.
Karten in diesem Stapel (9)
- 1Классы потоков POSIXJoinable - хранят результат своей работы до того момента, пока его кто-то не попросит
Detached - завершаясь, умирают "с концами" - 2"Убийство" потока POSIXФактически поток прекратит свою работу лишь в тот момент, когда будет выполнять системный вызов. И то не все системные вызовы тут учитываются.
- 3Мьютекс, спин-блокировка, RW-LockМьютекс - взаимное исключение, семафор с 1 значением;
Спин-блокировка - как мьютекс, но поток не засыпает, а продолжает опрашивать переменную;
RW-Lock - поддерживает shared lock (на чтение) и exclusive lock (на запись) - 4Условная переменнаяПо сути, это событие, в ожидании которого поток может спать. Для операции wait нужен залоченный мьютекс - перед "сном" потока он будет разлочен, а перед пробуждением - снова "залочен"
- 5Барьер, однократный запускПозволяет нескольким потокам начать выполнение с определённой точки, дождавшись всех.
Однократный запуск - функция, которая будет запущена лишь один раз одним потоком. - 6Функторы и их применение в потоках C++11Функтор - класс с перегруженным оператором (). Экземпляр этого класса может использоваться как аргумент для создания потока C++11.
- 7Рекурсивные мьютексыПозволяют одному и тому же потоку несколько раз их блокировать и потом столько же раз освободить.
- 8Unique lockСпособ заблокировать мьютекс так, что при выходе из зоны видимости он автоматически разблокируется.
- 9FutureПростой способ запустить функцию в отдельном потоке и через некоторое время "забрать" значение, которое она вернула.
Informationen
- Beschreibung
- Карточки по седьмой лекции курса "Многопоточное программирование на C/C++" на stepic.org
- Erstellt von
- Sergei Fomin
- Aufrufe
- 45
- Tags
- Bewertung