![](https://devblogs.microsoft.com/pfxteam/wp-content/uploads/sites/21/2018/08/dotnetfeature.png)
![](https://devblogs.microsoft.com/pfxteam/wp-content/uploads/sites/21/2018/08/dotnetfeature.png)
![](https://devblogs.microsoft.com/pfxteam/wp-content/uploads/sites/21/2018/08/dotnetfeature.png)
Building Async Coordination Primitives, Part 1: AsyncManualResetEvent
![](https://devblogs.microsoft.com/pfxteam/wp-content/uploads/sites/21/2018/08/dotnetfeature.png)
Potential pitfalls to avoid when passing around async lambdas
![](https://devblogs.microsoft.com/pfxteam/wp-content/uploads/sites/21/2018/08/dotnetfeature.png)
When “ExecuteSynchronously” doesn’t execute synchronously
![](https://devblogs.microsoft.com/pfxteam/wp-content/uploads/sites/21/2018/08/dotnetfeature.png)
FromAsync(asyncResult, …) vs FromAsync(beginMethod, …)
![](https://devblogs.microsoft.com/pfxteam/wp-content/uploads/sites/21/2018/08/dotnetfeature.png)
Building a custom GetOrAdd method for ConcurrentDictionary
![](https://devblogs.microsoft.com/pfxteam/wp-content/uploads/sites/21/2018/08/dotnetfeature.png)
Know Thine Implicit Allocations
![](https://devblogs.microsoft.com/pfxteam/wp-content/uploads/sites/21/2018/08/dotnetfeature.png)
Await, SynchronizationContext, and Console Apps: Part 3
![](https://devblogs.microsoft.com/pfxteam/wp-content/uploads/sites/21/2018/08/dotnetfeature.png)
Advanced APM Consumption in Async Methods
![](https://devblogs.microsoft.com/pfxteam/wp-content/uploads/sites/21/2018/08/dotnetfeature.png)