* Upgrade maven plugins * Upgrade maven plugins Some general code cleanup was necessary due to upgrade of PMD and checkstyle. Also needed to add Junit 4 as a dependency due to Mockito.timout issue found here: https://github.com/mockito/mockito/issues/152
layout, title, folder, permalink, categories, tags
layout | title | folder | permalink | categories | tags | ||||
---|---|---|---|---|---|---|---|---|---|
pattern | Async Method Invocation | async-method-invocation | /patterns/async-method-invocation/ | Concurrency |
|
Intent
Asynchronous method invocation is pattern where the calling thread is not blocked while waiting results of tasks. The pattern provides parallel processing of multiple independent tasks and retrieving the results via callbacks or waiting until everything is done.
Applicability
Use async method invocation pattern when
- you have multiple independent tasks that can run in parallel
- you need to improve the performance of a group of sequential tasks
- you have limited amount of processing capacity or long running tasks and the caller should not wait the tasks to be ready
Real world examples
- FutureTask, CompletableFuture and ExecutorService (Java)
- Task-based Asynchronous Pattern (.NET)