Лекция 5. Multithreading in C++ (потоки, блокировки, задачи, атомарные операции, очереди сообщений)

  Рет қаралды 18,957

Computer Science клуб при НГУ

Computer Science клуб при НГУ

4 жыл бұрын

Лекция №5 в курсе "Эффективное использование С++"
Преподаватель Валерий Михайлович Лесин

Пікірлер: 16
@Ivan.V.Petrov
@Ivan.V.Petrov 2 жыл бұрын
Спасибо за лекцию, включил на фоне, чтобы уснуть)
@VeloVetal
@VeloVetal 9 ай бұрын
1:15:20 -- в оригинале фраза звучит так: "There are 2 hard problems in computer science: cache invalidation, naming things, and off-by-1 errors." -- В компьютерных науках есть две сложные проблемы: инвалидация кэша, именование переменных и ошибка на единицу.
@sabotoff932
@sabotoff932 2 жыл бұрын
Лекция отличная, большое спасибо! Я пишу под Windows и всегда пользовалься нативными потоками OC для распараллеливания. Недавно попробовал работать с потоками c++. Там все продумано и логично. Код пишется легко. Но мне показалось, что внутренний библиотечный пул пытается экономить ресурсы. Скажем при 8-ми ядрах на десктопе, мне не удалось добиться одновременной работы 8-ми потоков. Работают не более 6. Остальные стоят в очереди. Еще один неприятный момент: невозможно создать поток в состоянии suspend(?) и точно отследить начало работы потока. Видимо, это плата за переносимость. Нативные потоки в Windows гибче.
@user-xu6co2km1o
@user-xu6co2km1o 3 жыл бұрын
Ого, вот это лекции, спасибо!
@user-sq2fl3nw3r
@user-sq2fl3nw3r 7 ай бұрын
Понимаю, что синглтон здесь использовался для демонстрации, но всё же скажу, что начиная с C++11 если в функции инициализируется static переменная, то это гарантировано сделает только один поток, а другие потоки не будут обращаться к неинициализированной переменной. Подробнее можно почитать: Энтони Уильямс "Практика многопоточного программирования", с. 100
@AndersonSilva-dg4mg
@AndersonSilva-dg4mg 4 жыл бұрын
Спасибо большое!
@philosophoflove
@philosophoflove 2 жыл бұрын
Супер препод.
@IExSet
@IExSet Жыл бұрын
44:45 Во всех примерах, где объявляется unique_lock c defer_lock, последующий вызов lock производится на них же, а не на исходные мьютексы. Почему здесь не так ? Сработает ли unique_lock если не вызывать на них lock ??? future_status - переводится как "будущий статус".
@WowSoLaggy
@WowSoLaggy Жыл бұрын
А разве в примере на 1:00:00 не будет дедлока? sending_thread функция лочит мьютекс mt и зависает в вечном ожидании непустого буфера (не освобождая мьютекс) на строке 10. Соответственно, при вызове функции on_frame она задедлочится навсегда в ожидании мьютекса mt на строчке 18.
@user-ty1ms9je9s
@user-ty1ms9je9s 3 жыл бұрын
Чем Event отличается от Condition Variable? Судя по функционалу - практически одно и то же.
@maxpo801
@maxpo801 2 жыл бұрын
1:30:25 volatile
@VeloVetal
@VeloVetal 9 ай бұрын
std::async(std::launch::async, ...); -- как то мало асинков, надо больше, больше!
@zakharkulbachenko3433
@zakharkulbachenko3433 2 жыл бұрын
а как мьючить лотекс?
@romuelson
@romuelson Жыл бұрын
🤣
@kaganyevgeny
@kaganyevgeny 3 ай бұрын
коробит слух когда пи ти ар называют пэ тэ эр :))))
Лекция 6. Обзор возможностей современных стандартов C++
1:34:01
Computer Science клуб при НГУ
Рет қаралды 2,3 М.
How I prepare to meet the brothers Mbappé.. 🙈 @KylianMbappe
00:17
Celine Dept
Рет қаралды 51 МЛН
Follow @karina-kola please 🙏🥺
00:21
Andrey Grechka
Рет қаралды 26 МЛН
YouTube Play Buttons !! 😱😱
00:17
Tibo InShape
Рет қаралды 12 МЛН
Многопоточность глазами разработчика
1:36:04
ты C++ РАЗРАБОТЧИК?) ага
12:04
Winderton
Рет қаралды 222 М.
Многопоточность и GIL
1:21:47
Computer Science Center
Рет қаралды 34 М.
Задача из Собеседования на 160,000 Евро в Год
13:27
Саша Лукин
Рет қаралды 1,1 МЛН
Thread → Task. Многопоточность и Асинхронность
13:39
Архитектор ПО. Александр Желнин
Рет қаралды 26 М.
Многопоточность в Java: основы
1:23:05
Computer Science Center
Рет қаралды 110 М.
How I prepare to meet the brothers Mbappé.. 🙈 @KylianMbappe
00:17
Celine Dept
Рет қаралды 51 МЛН