Overview
- Asynchronous — executing a task one one thread while awaiting completion of another task currently being executed on another thread.
- Concurrency — executing the same task on two threads. Non-deterministic (the order in which different pieces of the task are complete is not known).
- Parallel — executing the same task on two threads. Deterministic (the order in which different pieces of the task are complete is known).