# Parallel Programming

{% embed url="https://learn.microsoft.com/en-us/dotnet/standard/parallel-programming/media/tpl-architecture.png" %}

## Task Parallel Library

## Parallel LINQ

{% hint style="info" %}
Parallel Extensions

`Parallel.Invoke()` - runs on the UI thread so until the result is fetched UI gets blocked, and if we try to use `Dispatcher.Invoke()` inside the function which tries to create a new UI thread, the application will go in a deadlock state.
{% endhint %}
