async/await: tpl & message pumps

Post on 24-Jan-2017

221 Views

Category:

Software

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

TPL & Message PumpsWelcome

webinar

Part 2Async webinar series

Solution Architect

Enthusiastic Software Engineer

Microsoft MVP for systems integration

@danielmarbach

particular.net/blog

planetgeek.ch

RecapUse Task.Run, Factory.StartNew for

CPU-bound work

Use Task directly for IO-bound work

Use async Task instead of async voidreminder

RecapLibraries and frameworks should use

ConfigureAwait(false)

Async all the way, don’t mix blocking and asynchronous code

reminder

GoalsCombine async/await with the TPL

Throttling your concurrent operations

Graceful shutdowns

target

The Pump Code WrapUp

The Pump Code WrapUp

Message Pump

Queue

Your code

The Pump Code WrapUp

Demoawait

Semaphore

gated

Demoawait

The Pump Code WrapUp

RecapPrefer Task.Run over Factory.StartNew

Use CancellationToken to cancel

operations inside tasks

Use SemaphoreSlim to throttle instead

of a custom TaskSchedulerreminder

RecapDon’t use LongRunning or

AttachToParent for Tasks with async

operations

Non-blocking all the way, to maximize throughputreminder

Next

particular.net/async-await-webinar-series

github.com/danielmarbach/03-03-2016-AsyncWebinar

Slides, Links…

Q & Aawait

Thanks

top related