Лекция 17 - GCD, Многопоточность, Queue, QoS

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

КОМЕНТАРІ • 31

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

    Как всегда потрясающе! Поражаюсь Вашему таланту преподавания! Спасибо огромное!

  • @dmitrykiri
    @dmitrykiri Рік тому +6

    Это лучшее объяснение многопоточности, которое я видел. Велике дякую!

  • @so4264
    @so4264 2 роки тому +7

    Шикарная лекция, спасибо большое, дай бог Вам здоровья!

    • @bwswift
      @bwswift  2 роки тому +1

      Благодарю, как раз приболел :)

  • @Pro-jz8wg
    @Pro-jz8wg Рік тому +2

    автору огромная благодарность за отличный и понятный материал!

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

      Который до сих пор остается актуальным :)

  • @yuvatv2410
    @yuvatv2410 2 роки тому +4

    Очень хорошая лекция, большое спасибо, Вячеслав! Прям круто

  • @user-iOSnick-dev
    @user-iOSnick-dev Рік тому

    Спасибо за ваш труд!

  • @Лиза-е1ш6д
    @Лиза-е1ш6д 3 роки тому +2

    Огромное спасибо!

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

    Спасибо! Супер лекция!

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

      Будут скоро новые лекции адаптированые под UA-cam

  • @romanbutler156
    @romanbutler156 8 місяців тому

    Спасибо вам большое

  • @justmytraining4190
    @justmytraining4190 3 місяці тому

    👍

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

    Я только что все понял , сам я любил промисы в javascript , а тут как все просто и по полочкам

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

    Вячеслав, на 1:05:10, получается если используется sync, то нету смысла делать очередь конкурентной? Так как, очередь в любом случае будет ждать завершения и не получится накинуть на нее еще таски (как в примере с циклом).

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

      Есть смысл делать ее конкурентной, что бы не блокировать остальные задачи которые будут в очереди. Но если других задач точно в очереди не будет, то смысла нет.

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

      @@bwswift Понял, спасибо за ответ

  • @freechina4895
    @freechina4895 11 місяців тому

    Спасибо большое за лекцию🎉
    У меня осталось 2 вопроса:
    1. Concurrent очередь работает в 1 потоке(конкурентно) или нескольких(параллельно)? Или нам это вообще не известно и система сама решает как выполнить задачи в concurrent очереди?
    2. Context switch происходит только при выполнении нескольких задач на 1 потоке или он скачет по всем потокам, независимо от задач и типов очередей?

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

    5:55

  • @m.d.2029
    @m.d.2029 9 місяців тому

    Вычеслав, такой вопрос - в данном контексте - очередь и поток - это одно и тоже понятие или разное??
    То есть Thread == Queue или != ?

    • @bwswift
      @bwswift  9 місяців тому

      Глобально это разные понятия, но в iOS разработке они смежные, так как обычно на одном потоке одна очередь, поэтому иногда я не специально употребляю термин очередь вместо потока

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

    39:30

  • @eyelessA
    @eyelessA 8 місяців тому

    Cпустя 4 года, что то поменялось в Многопоточности?

    • @bwswift
      @bwswift  8 місяців тому

      Только добавила новый подход async/await

  • @ozolc
    @ozolc 4 роки тому +2

    Владислав, правильно ли я понял, что таски на concurrent и serial очередях могут быть выполнены на разных потоках в случае использования global очереди от GCD? Количество задействуемых потоков рассчитывает iOS.

    • @bwswift
      @bwswift  4 роки тому +4

      Maksim Nosov на этот вопрос нельзя ответить да или нет. Ответ может разница от системы в которой вы запускаете ваш код. Когда у программиста возникают такого рода вопроса, потратьте 15 минут на проверку гипотизы. В swift есть класс NSThread у которого есть type property currentThread который возвращает информацию - объект потока в котором выполняется код. Запустив несколько параллельных тасков в глобал очереди и распечатав на экран информацию о потоке, вы сможете визуально проверить были ли эти таски распределены между потоками или выполнились в одном потоке. Не забудьте поделиться этим с остальными здесь.

    • @ozolc
      @ozolc 4 роки тому +3

      @@bwswift Спасибо, так и сделал. Через NSThread класс я вижу, что в зависимости от интенсивности задачи, ОС выделяет на выполнение таска новый поток. В результате я понимаю, что балансировка под капотом у ОС. Спасибо за развернутый ответ.