Изучите параллельные вычисления на Python
Откройте для себя многопоточность, многопроцессорность, параллелизм и параллельное программирование с практическими и интересными примерами на Python
Добавлено
Рейтинг: 5,0 из 55,0 (2 оценок)
Студентов: 43
Авторы:
Последнее обновление: 2/2021
Английский
Английский [авто]
Learn Parallel Computing in Python
Этот курс включает:
- 5 ч видео по запросу
- 2 статей
- Полный пожизненный доступ
- Доступ через мобильные устройства и телевизор
- Сертификат об окончании
- Узнайте, как создавать гибкое и высокопроизводительное программное обеспечение.
- Узнайте, как использовать многопоточность и многопроцессорность для моделирования определенных типов проблем.
- Разрабатывайте программы на Python с высокой степенью одновременности и параллельности.
- Понять преимущества, ограничения и свойства параллельных вычислений.
- Улучшите свои навыки программирования на Python с помощью более сложных тем, касающихся многопоточности и многопроцессорности.
- Узнайте о потоках, процессах, мьютексах, барьерах, группах ожидания, очередях, каналах, переменных условий, взаимоблокировках и многом другом.
10 разделов • 46 лекций • Общая продолжительность 5 ч 2 мин
Требования
- Некоторый опыт программирования на Python (достаточно, если вы умеете использовать функции, списки и словари).
- Установлена последняя версия Python.
- Возможность сделать 50 подтягиваний, выкрикивая при каждом повторении уникальное простое число (шутка).
Настроение на встрече на 12-м этаже международного инвестиционного банка было настолько мрачным, насколько это возможно. Разработчики компании встретились, чтобы обсудить наилучшие пути дальнейшего развития после того, как критическое основное приложение выйдет из строя и вызвало сбой в системе.
«Ребята, у нас есть серьезная проблема. Я обнаружил, что сбой был вызван состоянием гонки в нашем коде, введенным некоторое время назад и сработавшим вчера вечером». говорит Марк Адамс, старший разработчик.
В комнате становится тихо. Машины за окнами от пола до потолка медленно и бесшумно ползут в плотном городском потоке. Старшие разработчики сразу понимают серьезность ситуации, понимая, что теперь они будут работать круглосуточно, чтобы исправить проблему и разобраться в беспорядке в хранилище данных. Менее опытные разработчики понимают, что состояние гонки является серьезным, но не знают точно, что ее вызывает, и поэтому молчат.
В конце концов Брайан Холмс, менеджер по доставке, нарушает молчание: «Приложение работает уже несколько месяцев без каких-либо проблем, в последнее время мы не выпускали никакого кода, как это возможно, что программное обеспечение просто сломалось ?!»
Все качают головами и возвращаются к своим столам, оставляя Брайана в комнате одного, озадаченного. Он достает телефон и гуглит "состояние гонки".
Звучит знакомо? Сколько раз вы слышали, как другой разработчик говорил об использовании потоков и параллельного программирования для решения конкретной проблемы, но из страха не участвовал в обсуждении?
Вот небольшой секрет, которым никогда не поделятся старшие разработчики ... Многопоточное и многопроцессорное программирование не намного сложнее обычного программирования. Разработчики боятся параллельного программирования, потому что они думают, что это сложная тема, с которой могут играть только очень опытные разработчики.
Это далеко от правды. Наш разум очень привык иметь дело с параллелизмом. Фактически, мы делаем это в повседневной жизни без каких-либо проблем, но каким-то образом нам трудно перевести это в наш код. Одна из причин этого в том, что мы не знакомы с доступными нам концепциями и инструментами для управления этим параллелизмом. Этот курс предназначен для того, чтобы помочь вам понять, как использовать инструменты и концепции многопоточности и многопроцессорности для управления параллельным программированием. Он разработан, чтобы быть максимально практичным. Мы начнем с теории параллелизма, а затем объясним, как операционная система обрабатывает несколько процессов и потоков. Позже мы перейдем к объяснению множества доступных инструментов на примере решения задач с использованием параллельного программирования.
В этом курсе мы используем язык Python, однако изученные здесь концепции можно применить к большинству языков программирования.
Весь код этого курса можно найти на github , имя пользователя / проект: cutajarj / multithreadinginpython
Для кого этот курс:
- Разработчики, которые хотят вывести свою карьеру на новый уровень, улучшив свои навыки и узнав о параллельном и параллельном программировании.
- Студенты колледжа, которые в настоящее время изучают параллельные вычисления, хотят увидеть, как концепции, изученные в классе, соотносятся с практикой.
- Опытные разработчики, которые столкнулись с этой темой и хотят попробовать еще раз, используя другой подход.
- Менеджеры по доставке позвонили Брайану Холмсу.
https://www.udemy.com/course/parallel-computing-in-python/#instructor-1