7. Потоки. Средства синхронизации.

Description

Карточки по седьмой лекции курса "Многопоточное программирование на C/C++" на stepic.org
Sergei Fomin
Flashcards by Sergei Fomin, updated more than 1 year ago
Sergei Fomin
Created by Sergei Fomin almost 9 years ago
11
0

Resource summary

Question Answer
Классы потоков POSIX Joinable - хранят результат своей работы до того момента, пока его кто-то не попросит Detached - завершаясь, умирают "с концами"
"Убийство" потока POSIX Фактически поток прекратит свою работу лишь в тот момент, когда будет выполнять системный вызов. И то не все системные вызовы тут учитываются.
Мьютекс, спин-блокировка, RW-Lock Мьютекс - взаимное исключение, семафор с 1 значением; Спин-блокировка - как мьютекс, но поток не засыпает, а продолжает опрашивать переменную; RW-Lock - поддерживает shared lock (на чтение) и exclusive lock (на запись)
Условная переменная По сути, это событие, в ожидании которого поток может спать. Для операции wait нужен залоченный мьютекс - перед "сном" потока он будет разлочен, а перед пробуждением - снова "залочен"
Барьер, однократный запуск Позволяет нескольким потокам начать выполнение с определённой точки, дождавшись всех. Однократный запуск - функция, которая будет запущена лишь один раз одним потоком.
Функторы и их применение в потоках C++11 Функтор - класс с перегруженным оператором (). Экземпляр этого класса может использоваться как аргумент для создания потока C++11.
Рекурсивные мьютексы Позволяют одному и тому же потоку несколько раз их блокировать и потом столько же раз освободить.
Unique lock Способ заблокировать мьютекс так, что при выходе из зоны видимости он автоматически разблокируется.
Future Простой способ запустить функцию в отдельном потоке и через некоторое время "забрать" значение, которое она вернула.
Show full summary Hide full summary

Similar

Components of An Operating System - Jason Madappattu
Jason EM
Linux - File Permissions
Mitch Isaacs
Programming
Herbert Fortes
Linux Programming Interface: Chapter 1
Jon Schipp
RedHat Linux Version 7 System Administration Certification
John Sweet
SISTEMAS OPERATIVOS
Sebastian Molina
3. Сокеты Беркли. Мультиплексирование.
Sergei Fomin
Computing
Jak Salad
Linux Programming Interface: Chapter 2
Jon Schipp
Linux Commands 1102-M1
Lyndsay Badding
Sistemas operativos Windows
Moonpel95