JavaRush
Акция
Университет
Java FullStack
Python FullStack
new
Web FullStack
new
Обучение
Курсы
Задачи
Опросы
Игры
Помощь
График пинков
Стажировка
Сообщество
Пользователи
Форум
Чат
Статьи
Истории успеха
Активности
Отзывы
Подписки
Светлая тема

Лекции

  • Отзывы
  • О нас
  • CS50
Начать
Начать обучение
Начать обучение
  • Мое обучение
  • Курсы
  • Университет
  • Карта квестов
  • Лекции
  • Введение в параллелизм

    JAVA 25 SELF
    54 уровень,0 лекция
    В этой лекции разбираем разницу между многопоточностью и параллелизмом: где важна отзывчивость, а где — реальное ускорение на нескольких ядрах. Обсудим создание потоков через Thread, реализацию Runnable и высокоуровневые пулы ExecutorService, посмотрим на простой пример суммирования массива, разберём, когда параллелизм помогает, а когда мешает, а также типичные проблемы: гонки данных, синхронизация через synchronized, взаимные блокировки и балансировку нагрузки. В конце — сравнительная таблица и визуализация сценариев.
    Открыта
  • ExecutorService, Callable, Future: запуск задач

    JAVA 25 SELF
    54 уровень,1 лекция
    Практика многопоточности по-взрослому: передаём задачи в ExecutorService вместо ручного создания Thread, управляем пулом, очередью и жизненным циклом ( shutdown(), shutdownNow()). Разбираем разницу между Runnable и Callable<T>, получаем результаты через Future и его методы ( get(), isDone(), cancel(...), isCancelled()). Покажем запуск нескольких задач, invokeAll/ invokeAny, обработку ExecutionException и типичные ошибки.
    Открыта
  • Параллельные стримы: синтаксис, применение

    JAVA 25 SELF
    54 уровень,2 лекция
    Разбираемся, как переключить обычный поток данных на параллельную обработку одной строкой — через parallelStream() или .parallel(), что происходит под капотом в ForkJoinPool.commonPool(), когда параллельность действительно ускоряет вычисления (большие коллекции, «тяжёлые» операции) и где она может замедлить. Покажем примеры фильтрации, агрегации, сортировки, измерения производительности и разберём типичные ошибки: побочные эффекты в forEach, сохранение порядка, выбор коллекций и настройку степени параллелизма.
    Открыта
  • ForkJoinPool и RecursiveTask: рекурсивные задачи

    JAVA 25 SELF
    54 уровень,3 лекция
    Практическое руководство по параллельным вычислениям в Java: как работает пул задач ForkJoinPool и рекурсивные задачи RecursiveTask<T>/ RecursiveAction, чем полезен алгоритм work-stealing, как дробить задачи через fork() и объединять результаты с join() внутри compute(). Разберём запуск через pool.invoke(), пример суммы массива и поиска максимума, место ForkJoinPool в parallelStream(), а также типичные ошибки и способы их избежать.
    Открыта
  • Лучшие практики параллельного программирования

    JAVA 25 SELF
    54 уровень,4 лекция
    Практическое руководство по параллельному программированию в Java: когда стоит использовать ExecutorService, где помогает parallelStream, и для каких задач нужен ForkJoinPool. Обсудим потокобезопасность с ConcurrentHashMap/ CopyOnWriteArrayList и атомарными классами ( AtomicInteger), замеры производительности через System.nanoTime() и JMH, обработку ошибок из Future.get() и ForkJoinTask, корректную реакцию на InterruptedException, а также приёмы логирования ( Thread.currentThread().getName()) и тестирования ( Awaitility). В конце — таблица выбора инструмента и типичные ошибки.
    Открыта
Обучение
  • Курсы программирования
  • Регистрация
  • Курс Java
  • Помощь по задачам
  • Цены
Сообщество
  • Пользователи
  • Статьи
  • Форум
  • Чат
  • Истории успеха
  • Активности
Компания
  • О нас
  • Контакты
  • Отзывы
  • FAQ
  • Поддержка
JavaRushJavaRush — это интерактивный онлайн-курс по изучению Java-программирования c нуля. Он содержит 1200 практических задач с проверкой решения в один клик, необходимый минимум теории по основам Java и мотивирующие фишки, которые помогут пройти курс до конца: игры, опросы, интересные проекты и статьи об эффективном обучении и карьере Java‑девелопера.
Подписывайтесь
Язык интерфейса
Русский
English Українська
"Программистами не рождаются" © 2026 JavaRush
MastercardVisa
"Программистами не рождаются" © 2026 JavaRush