JavaRush
AI Academy
new
Акція
Університет
Java FullStack
Python FullStack
AI Native Developer
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
  • Підтримка
JavaRush JavaRush — це інтерактивний онлайн-курс вивчення Java-програмування з нуля. Він містить 1200 практичних задач із перевіркою розв'язання одним клацанням, необхідний мінімум знань із теоретичних основ Java, а ще мотивувальні «фішки», які допоможуть пройти курс до кінця: ігри, опитування, цікаві проєкти й статті про ефективне навчання та кар'єру Java‑девелопера.
Підписуйтесь
Мова інтерфейсу
Русский English
Українська
Програмістами не народжуються © 2026 JavaRush
MastercardVisa
Програмістами не народжуються © 2026 JavaRush