• A
  • A
  • A
  • АБВ
  • АБВ
  • АБВ
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта

Многопоточное программирование

2019/2020
Учебный год
RUS
Обучение ведется на русском языке
3
Кредиты

Преподаватель

Программа дисциплины

Аннотация

Программа учебной дисциплины «Многопоточное программирование» Целями освоения дисциплины является знакомство с основами многопоточного програм-мирования на практических примерах с использованием языка программирования Java.
Цель освоения дисциплины

Цель освоения дисциплины

  • Целями освоения дисциплины является знакомство с основами многопоточного програм-мирования на практических примерах с использованием языка программирования Java. Изучение данной дисциплины основано на следующих курсах: • Основы и методология программирования Для освоения учебной дисциплины, студенты должны владеть следующими знаниями и компетенциями: • Методы программирования • Объектно-ориентированное программирование Знания, полученные при изучении дисциплины могут быть использованы при написании курсовой и дипломной работы.
Результаты освоения дисциплины

Результаты освоения дисциплины

  • Умеет использовать фреймворки ForkJoin, Stream, Phaser
  • Знает базовые многопоточные примитивы (потоки , мьютексы и др)
Содержание учебной дисциплины

Содержание учебной дисциплины

  • Parallel Programming in Java
    This course teaches learners (industry professionals and students) the fundamental concepts of parallel programming in the context of Java 8. Parallel programming enables developers to use multicore computers to make their applications run faster by using multiple processors at the same time. By the end of this course, you will learn how to use popular parallel Java frameworks (such as ForkJoin, Stream, and Phaser) to write parallel programs for a wide range of multicore platforms including servers, desktops, or mobile devices, while also learning about their theoretical foundations including computation graphs, ideal parallelism, parallel speedup, Amdahl's Law, data races, and determinism.
  • Concurrent Programming in Java.
    This course teaches learners (industry professionals and students) the fundamental concepts of concurrent programming in the context of Java 8. Concurrent programming enables developers to efficiently and correctly mediate the use of shared resources in parallel programs. By the end of this course, you will learn how to use basic concurrency constructs in Java such as threads, locks, critical sections, atomic variables, isolation, actors, optimistic concurrency and concurrent collections, as well as their theoretical foundations (e.g., progress guarantees, deadlock, livelock, starvation, linearizability).
Элементы контроля

Элементы контроля

  • неблокирующий контрольная
  • неблокирующий экзамен
Промежуточная аттестация

Промежуточная аттестация

  • Промежуточная аттестация (4 модуль)
    0.5 * контрольная + 0.5 * экзамен
Список литературы

Список литературы

Рекомендуемая основная литература

  • - Коузен К. — Современный Java: рецепты программирования - Издательство "ДМК Пресс" - 2018 - ISBN: 978-5-97060-134-1 - Текст электронный // ЭБС Лань - URL: https://e.lanbook.com/book/116121

Рекомендуемая дополнительная литература

  • Weston, T. (2018). Scala for Java Developers : A Practical Primer. [Berkeley, CA]: Apress. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1658694