В чем разница между @Async аннотированным методом и Reactor установлена для использования пула потоков того же размера. Есть ли какое-то преимущество для одного из этих методов и что это будет? Для моего использования я не хочу возвращать какую-либо ценность с помощью асинхронного метода.@Async vs. Reactor thread pool весной
ответ
Наиболее очевидным отличием является то, что реактор не пересекает @Async
аннотированные методы и неявно передает события в Reactor
. Если вы используете аннотацию Reactor @Selector
на бобах, то вы получаете противоположное тому, что вы бы сделали с @Async
: событие обработчик, а не событие издатель.
С учетом сказанного, существует некоторая поддержка в реакторе для публикации событий @Async
-стилей через DynamicReactorFactory. Он использует интерфейс вместо аннотации, но концепция аналогична.
Что касается «преимуществ» от использования одного или другого: это действительно зависит от того, что вы делаете в своем приложении и используете ли вы Reactor в более общем смысле. Реактор не предназначен для замены пула потоков. В реакторе ThreadPoolExecutorDispatcher
используется просто ThreadPoolExecutor
внизу. Преимущества использования Reactor в этом сценарии исходят от оптимизированной публикации событий, используемой в Reactor, и создания новых Callables
и Runnables
все время, а также использования API Reactor Stream
и Promise
для обработки асинхронного выполнения.
В соответствии с API, существует очевидное и измеримое преимущество использования Reactor над равным TaskExecutor
для фоновых заданий.
- 1. Фоновая нить vs Async thread pool
- 2. Message Queue VS Thread Pool
- 3. Производительность: Async vs Thread
- 4. thread pool error trapping
- 5. IntelliLock vs Net Reactor
- 6. Java Thread Pool
- 7. Thread Pool loan
- 8. Ruby Thread Pool abort_on_exception
- 9. C++ Simple Pool Thread
- 10. Lock and thread Pool
- 11. Netflix RxJava vs Spring Reactor
- 12. @EventListener с @Async весной
- 13. Java Thread Pool Timing Issue
- 14. thread pool server shutdown изящно
- 15. java thread pool keep running
- 16. Mule thread pool size cap
- 17. C# Thread Pool with Locking
- 18. Java Thread Pool Executor Мониторинг
- 19. Завершение пользовательского std :: thread pool
- 20. Thread vs Handler vs Задача Async для сокетов в android?
- 21. Исключение Брошенный из Thread Thread Pool показана как необработанное
- 22. Whitebox pool vs. blackbox pool в BPMN
- 23. OrientGraphFactory Pool vs Network Connection Pool
- 24. String Constant Pool vs String pool
- 25. реактор-v1.x.x Vs reactor-v2.x.x
- 26. Python error unknown: thread pool destructor
- 27. Python thread/process pool на бесконечном итераторе?
- 28. Playframework with thread-pool for background job
- 29. Thread safe Java pool, с INSTANT READ
- 30. C++ Boost :: ASIO Thread Pool issue