All about Async/Await, System.Threading.Tasks, System.Collections.Concurrent, System.Linq, and more…
Did you know we’re on Wikipedia? We love Wikipedia; it’s a great resource for hungry minds and we’re elated to have an article dedicated to the Extensions. Unfortunately, our article is a bit out-of-date.
We could update it ourselves but we’d rather respect Wikipedia’s policies and avoid editing an article pertaining to our own project. Instead, we’re soliciting your help. The article was created in September of ’07 and hasn’t changed much since even though a lot has changed in the bits. Heck, even the name has changed! We’d love to have you contribute to the article by fleshing it out more, reflecting changes to the APIs (Parallel.Do is now Parallel.Invoke), refreshing facts (we’ve announced we’re going to be part of Visual Studio 2010 and the .NET Framework 4.0 and released a CTP) and updating external links (the .NET Framework 4.0 section of the .NET Framework page could use a refresh, for instance).
Also, for the really ambitious, we have a few other technologies that don’t even have pages or relevant sections at all. The Parallel Patterns Library, the Concurrency Runtime, the new Parallel Stacks and Parallel Tasks windows, and the new Concurrency Analysis option in the Performance Wizard of Visual Studio 2010 all need a fine Wikipedian home. Both the Parallel Computing page on MSDN and Channel 9 are great resources to get started, but we’d be happy to answer any questions you might have in your editorial endeavors, so let the comments begin!
yeah wikipedia is pretty out of date but arent the current ctp pretty old too? at pdc it even seemed like the api that was shown was out of date :) it' be cool to get some updates on whats happening with the project :) some c9 interviews maybe? :)
aL, it's true, what we have now has changed quite a bit from the last CTP -- little changes are made everyday -- but I wouldn't say the changes are too drastic. What would be great is if we could get the articles up-to-date with what's been released to the community (the beauty of Wikipedia is that it can be updated fluidly) and in the meantime we'll work to get you more current info!
cool :) im pretty sure the lack of info means you're working hard on the actual bits :) still, im very curious about whats been happening the last few months ;) im hoping for linq-to-gpu and there have been hints dropped on that but mostly by mistake :D
that'd just be sooooo awsome.. :O
As far as I can see Parallel Extensions are always changing... I can't trust them until Visual Studio 2010 is on the market.
I think we must work hard in multithreaded applications until Visual Studio 2010 in on ther market with a Service Pack 1.
There are many books recommended in http://www.multicoreinfo.com/books/
C# 2008 and 2005 Threaded Programming: Beginner’s Guide
Author: Gastón C. Hillar
395 pages, Expected January 2009
ISBN 1847197108, ISBN 13 978-1-847197-10-8
Concurrent Programming on Windows [Amazon Link]
Author: Joe Duffy
Publisher: Addison Wesley, Pages: 1,008, November 2008
I think we must read Gastón's or Joe's book, instead of worrying about future Parallel extensions that are always changing from beta to beta.
I took a crack at it. Looks like someone already renamed Do to Invoke. However I updated the name, added the information about inclusion into .NET 4.0 framework and replace references to Parallel.While to Parallel.ForEach. AFAICT there isn't a Parallel.While but then again I could be out of date. OTOH I know there is a Parallel.ForEach. :-)
Your caution toward using the Parallel Extensions is totally understandable. We of course recommend that you NOT use PFx in any production software. On the other hand, for prototyping and hobbyist endeavors, we definitely recommend that you DO use PFx as much as possible. This is the only way for us to get the feedback that will help us make a product that will suit your needs. It's true that the extensions are in a state of flux but as we get closer to shipping the amount of churn is significantly slowing down. Great recommendation on Joe's book. You'll see a lot of the concepts in that book pop up in PFx. Joe is on our team and it's popular reading around here..
Thank you for your help! You're a testament to the great community we have. Yep, you're right, there's no Parallel.While for now but maybe we'll get one out as a sample. :) Thanks again!
Joe's book (Concurrent Programming on Windows) is very interesting. I've many chapters. Reading it, you will understand many things about concurrent programming in Windows that are very useful for "linear code" developers. It is a "must" for exploiting the multicore revolution. Amazon link: http://www.amazon.com/Concurrent-Programming-Windows-Microsoft-Development/dp/032143482X/ref=sr_1_6?ie=UTF8&s=books&qid=1233593678&sr=1-6
Gastón's book (C# 2008 and 2005 threaded programming) is a very practical guide for C# developers. It covers PLINQ and Parallel Extensions CTP. If you are looking for good exercises related to threading and multicore programming, the book will help you a lot. Besides, it is good that it dedicates two chapters to future .Net 4.0 features.
Joe is in the Parallel team.
Gastón is one of the most important Spanish hardware authors. I live in Madrid, Spain, and I have met him in one of his seminars a few months ago. He's been talking about multicore hardware since 1998.
So far, we have to wait for Parallel Extensions. However, they are indeed cool :-)
I need to improve performance of a long running process written in C#.
Thus, I'll buy both books shown in Trixie's comment. Joe's book and Gaston's book. We always need to learn new things... I thought 2009 would be the year of 8 GHz CPUs... I was wrong... 4 x 3 GHz yeah, but no 8 GHz...
This article is cool, it encapsulates threading with classes: http://www.packtpub.com/article/simplifying-parallelism-complexity-c-sharp
The article you are linking is part of Gastón's book: "C# 2008 and 2005 Threaded Programming: Beginner’s Guide".
Packt Publishing uses some chapters to promote the book.
You can also download the code for the book from Packt's website www.packtpub.com
I am enjoying running a process 3.2 times faster comparing single core to quad core.
Good luck with multicore programming!
PingBack from http://quickdietsite.info/story.php?id=4645