Магистерский курс C++ (МФТИ, 2022-2023). Лекция 19. Многопоточность, часть 1.

Поділитися
Вставка
  • Опубліковано 18 гру 2024

КОМЕНТАРІ • 26

  • @keesaev320
    @keesaev320 Рік тому +4

    Лучший

  • @makaedg
    @makaedg Рік тому +7

    Спасибо за лекцию! Кстати было бы интересно послушать про случайные числа, спектральные характеристики и энтропию

    • @tilir
      @tilir  Рік тому +5

      Хорошая идея для спешала. Я кое-что про это знаю.

  • @sergeygrechishnikov282
    @sergeygrechishnikov282 Рік тому +2

    Константин спасибо вам за лекцию 👍
    Надеюсь в дальнейшем будет рассмотрена тема отладки и поиска ошибок в конкурентных приложениях.

    • @tilir
      @tilir  Рік тому +4

      Да в следующий раз я поставлю эту задачу и расскажу несколько решений. Но они если что будут неутешительными. Простого способа нет.

    • @sergeygrechishnikov282
      @sergeygrechishnikov282 Рік тому

      @@tilir Спасибо.
      Я понимаю что они будут сложными, поэтому и спросил про эту тему))
      Будем разбираться.

  • @artemrusinov3034
    @artemrusinov3034 Рік тому +1

    Спасибо! Все очень четко и понятно

  • @АндрейШерстобитов-в8д

    Спасибо за лекцию! На 45:21 задаётся вопрос сколько весит lock_guard, и Ваш ответ: "не дороже чем mutex". Имелось же в виду не дороже чем ссылка на мьютекс?

    • @tilir
      @tilir  Рік тому +2

      Да вы правы там внутри T&. Я почему-то ожидал что сам мьютекс тоже не слишком тяжёлый т.к. это хендл на объект ядра. Но сейчас проверил и нет, там полноценные 40 байт.

    • @АндрейШерстобитов-в8д
      @АндрейШерстобитов-в8д Рік тому +2

      @@tilir я почему решил переспросить, так потому что помню, что у mutexа нет ни copy, ни move конструкторов (они есть, но deleted)

  • @КонстантинНестеров-в8и

    Здравствуйте! Спасибо за замечательную лекцию
    Кажется, на слайде 32 нужно сделать мьютекс mutable, чтобы использовать его в константных методах top() и empty()
    (если, конечно, имеется ввиду, что он - член класса)

    • @tilir
      @tilir  Рік тому +1

      Это хорошее замечание. Я сознательно не написал код этих методов. Мы это обсудим на следующей лекции.

  • @grincha09
    @grincha09 Рік тому +4

    1:14:07 действительно ли scoped_lock тяжелее lock_guard? Говорят "You can consider lock_guard deprecated" и "scoped_lock was (among the multiple mutex stuff) designed as a replacement to lock_guard, since the former could not be modified without breaking ABI". Как думаете?

    • @tilir
      @tilir  Рік тому +4

      Внезапно не тяжелее. Что интересно, он тоже обходится просто ссылкой если мьютекс один. А если не секрет это вы откуда цитируете?

    • @grincha09
      @grincha09 Рік тому

      @@tilir ответы стаковерфлоу :)

  • @ddvamp
    @ddvamp 6 місяців тому

    43:10 Константин, возможно стоит убрать повсеместно на слайдах указание типа мьютекса у guards, перейдя на CTAD? Или же вы таким образом ещё и показываете, какой именно мьютекс используется в примере?

    • @tilir
      @tilir  5 місяців тому

      В целом можно. Но мне кажется материал и без того тяжёлый, добавлять поводов для надевания волшебных очков не хочется.

  • @vladalu9794
    @vladalu9794 Рік тому +2

    очень интересно, спасибо огромное за материал! detach() в CG рекомендуют не использовать вообще.

    • @tilir
      @tilir  Рік тому +1

      Я тоже видел немного разумных применений для detach.

  • @McRay8
    @McRay8 10 місяців тому

    ни разу не сишник, но очень интересно

  • @alexandrgrigoriev9577
    @alexandrgrigoriev9577 Рік тому

    На ua-cam.com/video/xTpAJWe7ZD4/v-deo.html вызывается destroy, в котором вручную вызывает деструктор для каждого указателя на объект. Но ведь ::operator new в 73-й строке не создает объекты. Не будет ли при удалении UB ?

    • @tilir
      @tilir  Рік тому

      Этот класс не предполагается к использованию напрямую. Он имеет смысл только как базовый класс и закладывается на определённые действия которые делает производный.

  • @dimon_ksi
    @dimon_ksi Рік тому

    Что будет, если в не основном потоке не поймано брошенное исключение?

    • @tilir
      @tilir  Рік тому +3

      std terminate разумеется.