Многопоточность

Go to class
Write Review

Free Online Course: Многопоточность provided by Coursera is a comprehensive online course, which lasts for 6 weeks long, 12 hours worth of material. The course is taught in Russian and is free of charge. Upon completion of the course, you can receive an e-certificate from Coursera. Многопоточность is taught by Илья Кулебякин, Ильдар Гильфанов and Юрий Петухов.

Overview
  • Данный курс посвящен изучению многопоточности. В начале курса вы узнаете, что такое многопоточность, плюсы и минусы ее использования, а также разберетесь как решать возникающие проблемы такие как Deadlock, Livelock и другие.
    Далее в курсе вы познакомитесь как с низкоуровневыми API для работы с многопоточностью - POSIX и NSThread, так и с высокоуровневыми API - Grand Central Dispatch и OpetationQueue.
    В завершении курса вы научитесь работать с instruments, a также со встроенными в Xcode средствами для обнаружения утечек памяти и проблем производительности в приложении.

Syllabus
    • Многопоточность
      • На первой неделе мы начнем знакомиться с многопоточностью. Мы расскажем что это такое, а также рассмотрим плюсы и минусы ее использования в приложении. Также мы рассмотрим основные проблемы многопоточности такие как: Race Condition, Deadlock, Livelock и другие.
    • Потоки
      • Вторая неделя посвящена работе с потоками. Мы расскажем вам про низкоуровневые API для работы с потоками: POSIX и NSThreads, рассмотрим варианты синхронизации потоков, а также работу в фоновом режиме. В дополнении к этой теме мы познакомим вас с RunLoop, Autorelease pool и Timer.
    • GCD
      • Третья неделя посвящена высокоуровневому API для работы с многопоточностью GCD - Grand Central Dispatch. Мы расскажем про работу с GCD, про глобальные, последовательные и параллельные очереди, про приоритеты в очередях, а также про синхронное и асинхронное выполнение задач. Далее, развивая эту тему, мы расскажем про средства синхронизации в GCD: барьеры, семафоры и группы. В завершении этой темы вы научитесь как использовать Core Image вместе с GCD для применения фото фильтров.
    • Operations
      • На четвертой неделе мы расскажем об Operations и Operations Queue. Это еще одно высокоуровневое API для создания многопоточного кода без взаимодействия с потоками напрямую. Оно предоставляет возможность выстраивать зависимости между операциями. Вы научитесь создавать собственные сабклассы Operations, а также использовать CIFilters вместе с Operations.
    • Проблемы и решения
      • На пятой неделе мы расскажем об оптимизации приложений. Вы узнаете о профилировании приложений с помощью Instruments. С их помощью вы научитесь искать утечки памяти и проблемы производительности в приложении. Также вы научитесь работать со встроенным в Xcode средством поиска ошибок - thread sanitiser.
    • Курсовое задание
      • На 6 неделе вы продолжите работу над своим приложением. Основным нововведением будет публикация новых фотографий и наложение фильтров на фото