Однопоточная синхронизация контекста
На моем сервере есть асинхронный метод, который я хочу всегда запускать (при этом вызывающая сторона не ожидает его, просто отправляет) в выделенном потоке, а не из ThreadPool. Я нашел несколько реализаций для однопоточного SynchronizationContext, но они кажутся непроверенными, и я хотел бы использовать более стабильную.
Я нашел AsyncContext от Nito AsyncEx, но не смог выяснить, может ли он работать в одном выделенном потоке в течение всего жизненного цикла приложения.
Кто-нибудь знает, может ли AsyncContext соответствовать моим требованиям? Или вы знаете проверенную и стабильную реализацию однопоточного SynchronizationContext?
1 ответ
Вам не нужен контекст синхронизации - есть планировщик задач, который может делать именно то, что вам нужно - ConcurrentExclusiveSchedulerPair
,
По сути, вы запланируете все свои задачи для эксклюзивного планировщика в паре, и все они будут последовательно обрабатываться в отдельном потоке.