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

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