Parallel Programming
- Definition
- Split up a task into many similar parts and execute these all at the same time. When done, integrate the results.

How does it work?
By splitting up a task that takes n time into m subtasks and execute these in parallel, the task only takes n/m time.
Examples
- Spidering the internet
When should you use it?
- Use it for large tasks that have lots of simular computations, that can be compartimentalized. When time matters.
Problems
- Extra infrastructure may need to be set up for parallelization.
Common implementation techniques
- Coroutines in programming languages
- Cloud based