GoConqr has a new look! Let us know what you think.

Flashcards

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

Sergei Fomin Многопоточное программирование на C/C++ Certificate English 9 cards

Cards in this deck (9)

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

Information

Description
Карточки по седьмой лекции курса "Многопоточное программирование на C/C++" на stepic.org
Created by
Sergei Fomin
Views
45
Rating

Feedback

What is it about?

What do you think of the new look?

How do you like it?