How to constraint concurrency the right way in Rx.NET
问题 Please, observe the following code snippet: var result = await GetSource(1000).SelectMany(s => getResultAsync(s).ToObservable()).ToList(); The problem with this code is that getResultAsync runs concurrently in an unconstrained fashion. Which could be not what we want in certain cases. Suppose I want to restrict its concurrency to at most 10 concurrent invocations. What is the Rx.NET way to do it? I am enclosing a simple console application that demonstrates the subject and my lame solution of