YoVDO

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

Offered By: Moscow Institute of Physics and Technology via Coursera

Tags

iOS Development Courses Mobile Development Courses Race Conditions Courses Memory Leaks Courses Deadlocks Courses Multithreading Courses POSIX Courses

Course Description

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 неделе вы продолжите работу над своим приложением. Основным нововведением будет публикация новых фотографий и наложение фильтров на фото

Taught by

Илья Кулебякин, Ильдар Гильфанов and Юрий Петухов

Tags

Related Courses

Android-разработка: основы, многопоточность, архитектура
Moscow Institute of Physics and Technology via Coursera
Основы разработки на C++: красный пояс
Moscow Institute of Physics and Technology via Coursera
Operating Systems: Processes
Codecademy
LAFF-On Programming for High Performance
The University of Texas at Austin via edX
Core Java for Complete Beginners
LearnKartS via Coursera