Многопоточность
Offered By: Moscow Institute of Physics and Technology via Coursera
Course Description
Overview
Данный курс посвящен изучению многопоточности. В начале курса вы узнаете, что такое многопоточность, плюсы и минусы ее использования, а также разберетесь как решать возникающие проблемы такие как Deadlock, Livelock и другие.
Далее в курсе вы познакомитесь как с низкоуровневыми API для работы с многопоточностью - POSIX и NSThread, так и с высокоуровневыми API - Grand Central Dispatch и OpetationQueue.
В завершении курса вы научитесь работать с instruments, a также со встроенными в Xcode средствами для обнаружения утечек памяти и проблем производительности в приложении.
Далее в курсе вы познакомитесь как с низкоуровневыми 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 Юрий Петухов
Related Courses
Capstone MOOC for "Android App Development"Vanderbilt University via Coursera أفضل الممارسات لبرمجة وتطوير الهواتف المحمولة باستخدام جافا
Coursera Project Network via Coursera Build Your First Android App (Project-Centered Course)
École Centrale Paris via Coursera Архитектура Android-приложений
Moscow Institute of Physics and Technology via Coursera Jugando con Android: aprende a programar tu primera app
Universidad Autónoma de Madrid via edX