Eke Péter
Nov 6 · 1 min read

TaskScheduler.Default will always be the same ThreadPoolTaskScheduler regardless of framework or which thread you are.

Where your task will be executed is first decided whether you have a SyncronizationContext or not, and this is what changes from case to case.

The line from the table does not do a good job at explaining this. What I meant to say there is “How is my task scheduled?” instead of “What’s my default TaskScheduler” and there should be “TaskScheduler.Default” instead of default and “SynchronizationContext.Current.Post” instead of “from current synchronization context”.

I’ve updated the table in the article, this should make it more clear.

    Eke Péter

    Written by

    Tends to write plenty of C# and Javascript code.

    Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
    Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
    Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade