Анотація @Async в
є використовується для позначення методу як
. Це означає, що метод буде виконано в окремому потоці, а викликаючий потік не буде заблоковано в очікуванні завершення методу.11 грудня 2023 р.
Асинхронне програмування – це техніка, яка дозволяє вашій програмі запускати потенційно тривале завдання та мати можливість реагувати на інші події під час виконання цього завдання замість того, щоб чекати, поки воно завершиться.
Розуміння асинхронного програмування в Java: простими словами, асинхронне програмування дозволяє комп’ютеру виконувати завдання, не чекаючи завершення кожного з них перед початком наступного. У Java традиційно все відбувалося одна за одною, ніби слідування рецепту крок за кроком.
Анотація @EnableAsync вмикає можливість Spring запускати методи @Async у фоновому пулі потоків. Цей клас також налаштовує Executor, визначаючи новий bean. Тут метод називається taskExecutor , оскільки це конкретна назва методу, за яким Spring шукає.
Вираз «async with» призначений для створення та використання асинхронних контекстних менеджерів. Асинхронний контекстний менеджер – це контекстний менеджер, який може призупинити виконання своїх методів входу та виходу. Це розширення виразу «with» для використання в співпрограмах у асинхронних програмах.
Якщо у вас є потреби, пов’язані з вводом-виводом (наприклад, запит даних із мережі, доступ до бази даних або читання та запис у файлову систему), ви захочете використовувати асинхронне програмування. Ви також можете мати код, пов’язаний з процесором, наприклад, виконувати дорогі обчислення, що також є хорошим сценарієм для написання асинхронного коду.