8

Among other things, .NET's Reactive Extensions simplify concurrency management.

From what I've heard, .NET 4.5 will simplify concurrency management with things like the await keyword.

My Question:

  • Will .NET 4.5 make the Reactive Extensions obsolete?
  • Or is Microsoft expected to pitch the .NET 4.5 additions as an alternative way to approach asynchronous and concurrent programming?
Jim G.
  • 8,005
  • 3
  • 36
  • 66
  • 2
    See here for a complete answer to your question: http://channel9.msdn.com/Shows/Going+Deep/Rx-Update-Async-support-IAsyncEnumerable-and-more-with-Jeff-and-Wes – Robert Harvey Nov 04 '11 at 17:38
  • 1
    @RobertHarvey Although that video is still valuable and informative, http://channel9.msdn.com/Shows/Going+Deep/Bart-De-Smet-Rx-Updat-NET-45-Async-WinRT goes over the integration with .NET 4.5 and is more up to date with the latest version. – Richard Anthony Hein Nov 04 '11 at 22:41

2 Answers2

9

The newest release of Rx Experimental supports the new .NET 4.5 features and integrates more seamlessly with async/await and Tasks. So, the answer is no, .NET 4.5 doesn't make Rx obsolete, it makes it better. Take a look at http://social.msdn.microsoft.com/Forums/en-US/rx/thread/23062737-e154-41af-99f6-45d819992254 for information on the integration with Tasks, especially under the post entitled "Prefer Async Policy". Task is best used for single values, Observables work great for streams. It depends on what you are doing.

6

Both serve complimentary needs, Rx being an event stream processing library, and the new .NET 4.5 features focusing on single-value asynchrony. Watch the C9 video for more details.