Numeralis
Подписаться
Numeralis
Numeralis
  • FAQ
  • Создатели
  • Предметный указатель
  • Реклама
  • Информационное спонсорство
  • О нас
  • Контакты
  • Академия Яндекса

C++ Party 2014: Лекция 18. Message passing: многопоточное программирование без мьютексов. Кольцов Степан

  • 29 Июл 2015
  • Юлия Ласкевич
Total
0
Shares
0
0
0

Кольцов Степан рассказывает о многопоточной синхронизации — mutex и condvar. Объясняет, почему они плохо работают в случае contention. Говорит об альтернативном подходе к многопоточному программированию — передаче сообщений, или message passing. Рассказывает, как устроены мьютексы, почему возникают проблемы и как эффективно реализовать подход message passing.

  1. What’s wrong with mutex?
  2. Hard to write safe code
  3. void first
  4. void foo
  5. Mutexes are expensive
  6. struct spinlock lock = SPINLOCK_INIT
  7. struct spinlock { int locked; }
  8. Code examples github.com/stepancheg/no-mutex-c github.com/stepancheg/no-mutex
  9. struct mutex lock = MUTEX_INIT
  10. struct mutex { int locked; // 1 if locked int count; // number of threads requesting a lock }
  11. Numbers lock cmpxchg 8ns uncont. mutex lock/unlock 11ns futex_wake 400ns cont. mutex lock ~500ns
  12. Hard to parallelize
  13. There’s a solution!
  14. Message passing/ Actor model
  15. class BlockingQueue
  16. Simple message passing with dedicated thread
  17. // non-blocking queue // mutex+condvar BlockingQueue<Request> queue
  18. Actors
  19. interface Runnable { void run(); } ! interface ThreadPoolExecutor { void submit(Runnable); } Executor
  20. abstract class Actor { Actor(Executor executor)
  21. class MyReqProcessor: Actor { MyReqProcessor(Executor exec) { super(exec); }
  22. enum ETaskState { WAITING, RUNNING, RUNNING_GOT_TASKS, }
Total
0
Shares
Share 0
Tweet 0
Pin it 0
Метки материала
  • C++ Party 2014
  • Академия Яндекса
  • Кольцов Степан
  • многопоточная синхронизация
  • Многопоточное программирование
Юлия Ласкевич

Люблю учиться, читать и делиться новостями. Зиму провожу в горах, занимаясь самообразованием и катаясь на лыжах, а летом возвращаюсь к морю. Но никогда не покину зону стабильного интернета, ведь рискую пропустить свежее событие, которое происходит где-то рядом…

Предыдущий материал
  • Новости

OpenStack исполнилось 5 лет!

  • 28 Июл 2015
  • Юлия Ласкевич
Смотреть материал
Следующий материал
  • Академия Яндекса

C++ Party 2014: Лекция 19. Qt. Как выжить на минном поле. Советы сапёру. Кормалев Денис

  • 29 Июл 2015
  • Юлия Ласкевич
Смотреть материал
Вас также может заинтересовать
Смотреть материал
  • Академия Яндекса
  • Посмотреть

Школа автоматизации процессов разработки 2014: Автоматизация сборки Java проектов. Крутов Иван

  • Юлия Ласкевич
  • 1 Ноя 2015
Смотреть материал
  • Академия Яндекса
  • Посмотреть

Школа автоматизации процессов разработки 2014: Системы контроля версий. Мастер-класс. Мавлютов Марат

  • Юлия Ласкевич
  • 1 Ноя 2015
Смотреть материал
  • Академия Яндекса
  • Посмотреть

Школа автоматизации процессов разработки 2014: Системы контроля версий. Мавлютов Марат

  • Юлия Ласкевич
  • 31 Окт 2015
Смотреть материал
  • Академия Яндекса
  • Посмотреть

Школа автоматизации процессов разработки 2014: Вводная лекция. Ерошенко Артем

  • Юлия Ласкевич
  • 31 Окт 2015
Смотреть материал
  • Академия Яндекса
  • Посмотреть

Школа вебмастеров: Нужен ли вашему бизнесу сайт? Задачи, которые может решать сайт. Сливинский Михаил

  • Юлия Ласкевич
  • 31 Окт 2015
Смотреть материал
  • Академия Яндекса
  • Посмотреть

Школа вебмастеров: Основные принципы ранжирования. Царик Сергей и Роменский Антон

  • Юлия Ласкевич
  • 31 Окт 2015
Смотреть материал
  • Академия Яндекса
  • Посмотреть

Школа вебмастеров: Основные принципы индексирования сайта. Смирнов Александр

  • Юлия Ласкевич
  • 31 Окт 2015
Смотреть материал
  • Академия Яндекса
  • Посмотреть

Школа вебмастеров: Мобильное приложение: как и зачем. Лукин Александр

  • Юлия Ласкевич
  • 31 Окт 2015

Добавить комментарий Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Метки
Apple C++ Party 2014 CNews CodeFreeze facebook Google mail.ru Mail.Ru Group Microsoft Netpeak seo smm TrueConf Академия Яндекса Безопасность интернет-приложений Вебинары Воронцов Константин Гроховский Леонид Конференции Костин Евгений Машинное обучение Мероприятия Обучающий центр CyberMarketing Онлайн Академия Zillion Петров Алексей Пресс-релизы Роскомнадзор Россия Семинар Технопарк Mail.ru Group ТопЭксперт Управление продуктом ШРИ в Москве ШРИ в Москве 2012 Шестаков Олег Школа вебмастеров Яндекс Яндекс.Директ бизнес литература вебинар вконтакте конференция курсы рецензии форум
Numeralis
Удивительный мир Digital маркетинга

Введите ключевые слова для поиска и нажмите Enter