006. Многопоточность в С++ - Максим Бусел

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

Yandex for Developers

Yandex for Developers

7 жыл бұрын

Пікірлер: 14
@user-gt8ih3kg8k
@user-gt8ih3kg8k 3 жыл бұрын
- Как тебя на радио взяли? У тебя там блат? - Нет! Сестла.
@EchoThor
@EchoThor 7 жыл бұрын
Лектор, конечно, нервничает. Возможно поэтому он очень косноязычен и его стиль изложения сложен для восприятия. А тема интересная...
@rasimbot
@rasimbot 6 жыл бұрын
Не conditional_variable, а condition_variable
@VitaliBabkin
@VitaliBabkin 5 жыл бұрын
Винда вроде как гарантирует, что случайного пробуждения не будет и в отличие от линуха не нужна проверка на случайное пробуждение. В целом полезно было послушать.
@KiberDoktoR
@KiberDoktoR 3 жыл бұрын
Скорее всего код как раз на Linux работает.
@gooseman5578
@gooseman5578 4 жыл бұрын
Зря конечно локи не убрали, хотя хотели и говорите, что "может взлететь"... Я запустил этот тест на генерацию 100'000 i*j... он без тредпулов (т.е. просто код в main()) отрабатывает за 0.002s... 200 раз за 0.077s... 1000 раз за 0.350s... И это на ноуте Celeron. Там в тестах с тредпулом ушло 1.8s на 200 потоков... Но правда рост падения производительности сильно меньше (с 10 до 200 потоков изменения с 1.6s на 1.8s). Т.е. до какого-то момента таки выгоднее запускать БЕЗО всяких тредпулов?
@FenderBleyat
@FenderBleyat 6 жыл бұрын
Возможно вопрос глупый, но да ладно. Очередь определена так: queue tasks_; добавление же определено через шаблон то есть в него может прийти функция с возвращаемым значением не void. И вот вопрос в том почему это не нарушает общности и в может ли откомпилиться код с возвращаемым значением не void?
@Torias1000
@Torias1000 6 жыл бұрын
Идея в том, что возвращаемое значение, обёрнутое в future возвращается из вызова add_task. Когда задача добавляется в очередь - на самом деле туда добавляется лямбда (с возвращаемым значением void() ), которая, в свою очередь , оборачивает вызов packaged_task - которая как раз оборачивает функцию, возвращаемое значение и список параметров. Так что оно действительно работает для произвольных функций (с произвольными возвращаемыми значениями и списком аргументов). Взгляните, на то, как формируется "задача", начиная отсюда github.com/sajeruk/ThreadPool/blob/master/thread_pool.h#L30
@Torias1000
@Torias1000 6 жыл бұрын
Верная ссылка: github.com/sajeruk/ThreadPool/blob/5a3124f23d33007447a45f6c8710b242ed8c6e89/thread_pool.h#L30
@apivovarov2
@apivovarov2 4 жыл бұрын
wait/notify как в джаве есть?
@IExSet
@IExSet 2 жыл бұрын
Лектор молодец, но местами невнятное бормотание в таком быстром темпе, что понять что-либо невозможно.
@thegod3500
@thegod3500 7 жыл бұрын
42 :) Пикабушники детектед
@xLetisx
@xLetisx 6 жыл бұрын
Ну это в первую очередь "Автостопом по галактике", а уже потом всякие пикабы.
@nebulousGemini
@nebulousGemini 6 жыл бұрын
Видимо, кроме пикабу, ты ничего и не знаешь.
007. Boost::process и boost::stacktrace - Александр Фокин
30:11
Yandex for Developers
Рет қаралды 2,8 М.
Дибала против вратаря Легенды
00:33
Mr. Oleynik
Рет қаралды 4,5 МЛН
Did you believe it was real? #tiktok
00:25
Анастасия Тарасова
Рет қаралды 25 МЛН
OMG🤪 #tiktok #shorts #potapova_blog
00:50
Potapova_blog
Рет қаралды 18 МЛН
The day of the sea 🌊 🤣❤️ #demariki
00:22
Demariki
Рет қаралды 99 МЛН
024.  Модель памяти C++ - Андрей Янковский
40:03
Yandex for Developers
Рет қаралды 51 М.
C++ Siberia 2019: Антон Полухин, C++ на практике
54:26
Дибала против вратаря Легенды
00:33
Mr. Oleynik
Рет қаралды 4,5 МЛН