Доклад: Устройство многопоточности в iOS / Александр Андрюхин (Авито)

Поділитися
Вставка
  • Опубліковано 22 сер 2024
  • Понравилось видео и хочешь узнать что-то еще про iOS и многопоточность? Забирай весь плейлист на is.gd/kChYnl или купи билет на следующий сезон конференции is.gd/auKynm
    Подпишись на канал - каждую неделю мы выкладываем новые видео про то, как устроена работа и жизнь в IT!

КОМЕНТАРІ • 29

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

    Лекция прелесть! Всем советую. Есть и глубина и простота. Самое главное, что всё структурированно и по существу. Использую как обучающее пособие! Автору - респект! Умница!

  • @egormikhailov134
    @egormikhailov134 3 роки тому +12

    Спасибо в очередной раз за то, что создаете странные мифы. Из того же доклада Роба Пайка: parallelism is not a goal of concurrency model.
    Не надо, пожалуйста, путать людей: в concurrency вещи МОГУТ исполняться параллельно, но они НЕ ОБЯЗАНЫ это делать! Если машина одноядерная, тогда да, никакого параллелизма там не будет, только переключение контекста. А вот если процессу на многоядерной машине выделили два потока (в случае с iOS - mach потока), тогда параллелизм в модели concurrency возможен.
    Резюмируя, concurrency does not always imply the parallelism!!!
    А за ресурсы для глубокого погружения - спасибо большое!

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

    На людях в черном поставил лайк, Александр гений - презентация огонь :)

  • @elfdeveloper
    @elfdeveloper 3 роки тому +5

    Единственное: RunLoop скорее всего поток не в sleep погружает, а более оптимально ставит поток на condition wait. Когда событие прилетает, пинает condition wait и поток начинает шуршать, пока все ивенты не обработает. После обработки, поток снова встает на condition wait.

  • @ilia_fedoroff
    @ilia_fedoroff 3 роки тому +2

    А чтобы упороться в concurrency можно еще открыть Лекторий ФПМИ (привет физтех) и посмотреть лекции и семинары на эту тему (тред ТПМС).
    Со всеми кишками (как модно в 2021). Там и модели памяти, и кэши, и санитайзеры, и таски и вот это вот все

  • @yacoder-proit
    @yacoder-proit 4 місяці тому

    Крутой доклад на тему многопоточности, спасибо автору!

  • @ilia_fedoroff
    @ilia_fedoroff 3 роки тому +1

    Вот, что говорят на WWDC Modernizing GCD Usage относительно разницы между parallelism и concurrency:
    The easy way to separate these two concepts in your mind, is to realize that parallelism is something that usually requires multiple cores and you want to use them all at the same time.
    And concurrency is something that you can do even on a single core system. It's about how you interpose the different tasks that are part of your application.

  • @user-sp1pd8gb7e
    @user-sp1pd8gb7e 3 роки тому +2

    насчет интересного вопроса который был озвучен в видео, ну как я понимаю то на потоке ранлуп оборачивает выполнение задачи в авторелизпул который в свою очередь вызывает метод дрейн и получается деинит (если счетчик ссылок 0) вызывается на том потоке на котором это обнуление произошло

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

    Интересно слушать и полезно.
    Спасибо.

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

    Шикарно ! Спасибо за материал!)

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

    Зачем Третий Чел? Он походу забыл, что на конференции и чисто фильме сидит смотрит

  • @sovrinfo
    @sovrinfo 2 роки тому

    Спасибо за видео.Коммент в поддержку!

  • @user-mt1mz9og6t
    @user-mt1mz9og6t 3 роки тому +1

    Здорово! спасибо!💪🏻

  • @torburgmax
    @torburgmax 3 роки тому +2

    async/await завезли, поздравляю :)

    • @elfdeveloper
      @elfdeveloper 3 роки тому

      Да, наконец-то. Даже в системные фреймворки завезли (например, в URLSession). Но это конечно скорее минус, так как функционал - вангую - будет доступен только с iOS SDK 15+. Имею в виду, не воспользуешься функционалом Concurrency, если поддерживаешь более древние операционки

    • @torburgmax
      @torburgmax 3 роки тому

      @@elfdeveloper ну это ниче страшного, всегда так было)

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

    С 45 минуты начинается 1С.

  • @krasnodar95
    @krasnodar95 3 роки тому +1

    Отличная лекция👍

  • @_hejsan
    @_hejsan 3 роки тому

    Спасибо! А можно где-то скачать презентацию?

  • @user-dg3gm8bl3v
    @user-dg3gm8bl3v 9 місяців тому

    51:00 - Перехода лучше уже не будет

  • @gabibli
    @gabibli 26 днів тому

    1:08:00

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

    Спасибо за рекламу, столько рекламы в одном видео никогда еще не видел. мак ос и айос интернался не у нас в сообществе случаем нашел? так как мы ее покупали и в цифру переводили

  • @user-bs4xq6yi5v
    @user-bs4xq6yi5v 3 роки тому +1

    22:20 Написано что: "Актор умеет получать сообщения, принимать сообщения..." В чем разница между получать и принимать? Может там должно быть отправлять?

    • @leonif1
      @leonif1 3 роки тому

      там много оговорок. Например нельзя ставить async таску на serial очередь. Но это не так. Иначе бы DispatchQueue.main.async {} вызывал был дедлок, так main serial очередь. Будет дедлок если вы запустите sync таску внутри которой запустите async таску на serial очереди. Вот тогда дедлок

  • @nikk6578
    @nikk6578 3 роки тому +1

    Как удобно что рандом выбрал уже знакомую модель акторов :)
    ua-cam.com/video/b7G866hEbAY/v-deo.html

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

    Задроты справа все видео будут?

  • @TheScrinn
    @TheScrinn 3 роки тому +5

    Ну так, обзорная статья если и так уже знаком с понятиями. Особо ничему тут не учат и не объясняется для новичков смотреть только если вы уже до этого много читали про мультипоточность

    • @TheScrinn
      @TheScrinn 3 роки тому +2

      По сути целый час траты времени, ничему тут не научитесь по сабжу

    • @TheScrinn
      @TheScrinn 3 роки тому

      Ну рекомендованная литература в конце норм