От here.Net 4 Расписание планирования задачи?
В .NET Framework предоставляет локальные очереди задач для каждого рабочего потока в потоке pool.Giving различных частей приложения, их собственная очередь работы помогает избежать центральное узкого места (путем не доступ к глобальному очередь).
Я предполагаю, что эти очереди для новых задач, которые исходят от рабочего потока, а не от обычной нити.
Вопрос:
Но почему же очереди (в каждом рабочем потоке) работают локальные задачи в LIFO образом? где справедливость? Задача, поставленная раньше, должна выполняться раньше (FIFO).
Что мне не хватает?
Класс Task страдает от того, что он был в руках астронавтов-архитекторов. Здесь ничего особенного не происходит, подзадачи, которые вы добавляете с помощью ContinueWith(), выполняются по порядку. –