Многопоточность в iOS. Part I - Разбор вопросов с IOS собеседований

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

КОМЕНТАРІ • 41

  • @ВадимВоронков-д9ы

    1:22 Асинхронность vs Многопоточность
    2:35 Serial Concurrent
    3:37 сколько потоков могут иметь serial и concurrent очереди
    4:40 семафор и Mutex
    9:06 что такое атомарность
    9:50 barrierTask
    16:20 Есть ли способ отменить переданный на выполнение блок в GCD
    17:35 Что такое QoS
    19:15 Потокобезопасны ли классы и структуры
    20:30 Что такое тред пул
    22:00 Потокобезопасно ли чтение или доступ к переменным класса
    22:46 Почему serial быстрее concurrent
    23:45 Какое количество потоков может максимально выполняться в единицу времени
    24:16 Когда DispatchQueue создаст новый поток?
    24:45 Правда ли что у каждого потока свой RunLoop?
    25:30 Можно ли работать с массивом read/write внутри dispatch async

  • @silbenking
    @silbenking Рік тому +8

    Очень круто и полезно, не забрасывай канал, у тебя хорошо и просто получается объяснять - редко встретишь сейчас такие каналы

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

    Прям ждал следующий видос, а тут ещё и по такой нужной мне сейчас теме. Автор красавчик

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

      Спасибо!) на этой неделе будет второй выпуск по поточке!

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

      @@fonzyara жду. По ARC готовился в том числе и по твоему видео, по многопоточке тоже буду

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

      @@fonzyaraочень ждём следующий выпуск по многопоточке👍

    • @нЮ_Ю
      @нЮ_Ю Місяць тому

      @@fonzyara я так понимаю вторую часть снесли?

  • @artyom5602
    @artyom5602 11 місяців тому +4

    3:50 - Serial НЕ гарантирует, что все задачи будут на одном потоке

  • @Arti1k_ios
    @Arti1k_ios 6 місяців тому +1

    6:59 (с код в описании) - не верный:
    1. имеется синтактическая ошибка, вместо serialQueue нужно queue
    2. semaphore.wait() вызывается не в правильном месте, нужно до асинхронного блока кода (до queue.async {)

  • @АлександрБулычев-у6р

    Спасибо за разбор вопросов! Как и все жду следующее видео

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

    Жаль что перестал выкладывать видосики

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

    Отличный видикс для новичков. Только звук бы погромче выкрутить

    • @МаринаЛеонова-д5й
      @МаринаЛеонова-д5й Рік тому

      Джун для джунов - интересный формат). Но... много не точностей и ляпов((, имейте ввиду новички переучиваться потом будет сложнее, чем сразу нормально учится на офф. документации.

    • @gomayata-f2n
      @gomayata-f2n Рік тому +1

      @@МаринаЛеонова-д5й да, так и есть. Был бы я собеседующим, я бы многое не принял как за полный ответ и много вопросов задал бы дополнительно.

  • @АндрейЦуркан-ж8ч
    @АндрейЦуркан-ж8ч Місяць тому

    Спасибо, но почему при разборе mutex ты рассказывал про NSLock, когда NSLock это просто обертка над mutex?

  • @Andrew-7324
    @Andrew-7324 Рік тому +3

    24:12 а разве 64 бита как-то связано с количеством потоков? 64 бита определяют размер указателя и количество памяти считываемое за один цикл обращения к памяти

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

      Все верно говоришь!

    • @6-217
      @6-217 8 місяців тому

      Прав и это не фактор, говорящий напрямую о кол-ве потоков, но косвено он тоже влияет на их кол-во

    • @6-217
      @6-217 8 місяців тому

      сказать сколько точно потоков у системы с лету сложно. Думаю у самого тред пула есть как определенно созданное кол-во так и возможность раширяться и thread explosiion по хорошему добиться сложно, в штатном режиме

    • @АндрейЦуркан-ж8ч
      @АндрейЦуркан-ж8ч Місяць тому

      Да, разрядность системы связана с количеством поток приложения которые могут выделиться, почитайте про это, чтобы не задавать глупых вопросов

    • @Andrew-7324
      @Andrew-7324 Місяць тому

      @@АндрейЦуркан-ж8ч а зачем ты в каждом ответе подчеркиваешь что вопрос «глупый» и задавать вопросы значит «позориться»? Неуместные попытки самоутвердиться?

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

    Бро, когда продолжение? Очень надо.

  • @Andrew-7324
    @Andrew-7324 Рік тому

    24:58 - не у каждого потока всегда есть ранлуп, а только у главного, для остальных нужно создавать его и запускать самостоятельно

    • @АндрейЦуркан-ж8ч
      @АндрейЦуркан-ж8ч Місяць тому

      Ну не надо позориться, у каждого потока есть свой runLoop просто пока его не сконфигурировали он как бы спит, и поток использует runLoop основной очереди

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

    Хорошие видео, спасибо. Хотелось бы более подробной информации конечно ) Copy on write sweezling и т д. Но спасибо огромное автору

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

    Спасибо за очередную интересную серию.
    Желательно сделать звук погромче.

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

    Большое спасибо!

  • @Yumaguzhin.D
    @Yumaguzhin.D Рік тому

    Спасибо за видос!
    Только есть пару моментов. Очень тихий звук и слышно как ты делаешь каждое движение мышкой.

  • @abd3d2fKm-s
    @abd3d2fKm-s 9 місяців тому

    а зачем отпускать мьютекс в последнем примере в блоке defer - разве просто вызов unlock() после append не так же отработает?

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

    По первом вопросу НЕВЕРНО! Асинхронные задачи могут выполняться как в рамках одного потока, так и в рамках нескольких потоков - т.е. многопоточный асинхронный код.

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

    Только асинхронность - это характеристика вызова (неблокирующий) с возвратом управления вызывающему потоку мгновенно. А многопоточность - распределение работы (процессов) по потокам. Этот странный вопрос в духе сравнения теплого с мягким иногда встречается, увы ))

    • @Anton-r9o
      @Anton-r9o Рік тому

      Наверное самое простое объяснение которое видел)

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

    Из коробки runloop ведь есть только у main потока, для всех остальных надо реализовывать самому

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

    Кто шуршит

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

    Майн респектабль