We will talk about a rare area that rarely looked into in the .NET world: the distinction between the processor cores. During this talk, we will compare the relationship of everything with the SynchronizationContext and TaskScheduler, analyze what we need to make both our own and other people's algorithms work on those kernels on which it was ordered to work and how to do it correctly:
- retaining async/await and other amenities;
- make async/await and APC mechanism work on common/different kernels
Plus, we will see why ThreadPool in this context (and indeed) is not safe.