Здравствуйте, Sinix, Вы писали:
S>Здравствуйте, Gremlin2, Вы писали:
G>>В отдельном потоке или в потоке UI? Если в потоке UI, то есть Dispatcher. Если в отдельном, то элементарно реализуется при помощи BlockingCollection и Task: S>Только while (!cancellationToken.IsCancellationRequested).
Можно, но тогда уж и Take(cancellationToken). Но может работать и так: вызов CompleteAdding должен прерывать Take с InvalidOperationException.