Skip to main content

You are not logged in. Your edit will be placed in a queue until it is peer reviewed.

We welcome edits that make the post easier to understand and more valuable for readers. Because community members review edits, please try to make the post substantially better than how you found it, for example, by fixing grammar or adding additional resources and hyperlinks.

4
  • Yes, thank you. I was aware of schedulers but I must have been awake too long to realize that I used the default scheduler, I am now confused. The default scheduler in the case of a console app would be the CurrentThreadScheduler, right? Or would it be the ThreadPoolScheduler? From the results this program produced without specifying a scheduler, it looked like it was the ThreadPoolScheduler but if I changed the program to produce something less complicated such as Observable.Range(...), it used the CurrentThreadScheduler as the default. Why is that? Commented Jun 14, 2016 at 23:43
  • I think I understand. If we do not specify a scheduler, it selects the best scheduler for the platform and the operation as the default scheduler. So the call to IObservable.Timer would have used a thread pool scheduler to run the System.Threading.Timer on. Interval might have done the same. Commented Jun 14, 2016 at 23:51
  • AFAIK each operator has a standard/default scheduler in case that the IScheduler is not being provided. So it really dependents of the operator that you're using -stackoverflow.com/questions/15341864/… Another code that you would be useful for testing purposes is .Wait(). More info: stackoverflow.com/questions/37801699/… Commented Jun 14, 2016 at 23:59
  • Interesting how one could use Wait to wait for completion of an observable. Nice. Thank you. Commented Jun 15, 2016 at 0:02