Pro .NET 4 Parallel Programming in C#
Pro .NET 4 Parallel Programming in C#
Author: Adam Freeman
Publisher: Apress
Pages: 328
ISBN: 978-1430229674
Aimed at: Experienced C# programmers
Rating: 4
Pros: Methodical and clear approach
Cons: Fails to cover UI thread
Reviewed by: Ian Elliot

Parallel Programming is more important than ever. Does this book give you a clear lead? Author: Adam Freeman

Publisher: Apress, 2010
Pages: 328
ISBN: 978-1430229674
Aimed at: Experienced C# programmers
Rating: 4
Pros: Methodical and clear approach
Cons: Fails to cover UI thread
Reviewed by: Ian Elliot


Parallel Programming is more important than ever and there are some new approaches in the pipeline. This particular book takes a fairly traditional approach to parallel programming by focusing on the Task Programming Library. After the usual preliminaries, Chapter 2 gets started with basic tasks and at this stage it is clear that the author intends to show you every possible way to create a task and generally working with tasks. The examples are small enough to understand and overall the approach works well. As long has you have a rough idea of what you are trying to achieve it all should make good sense. By the end of the chapter you should know everything you need to know about working with tasks - as long as they work in isolation.

Banner

Chapter 3 deals with the more interesting case of sharing data between tasks and introduces the problems - race hazards and deadlock. From here each time of lock and synchronization approach is explained complete with small examples. It also deals with the new concurrent collections and even the synchronization features of the existing collections. At the end of the chapter is a collection of patterns illustrating what can go wrong and how to deal with the situation.

The next chapter moves into slightly less familiar territory - task continuations. This works its way through all the possibilities very clearly and then introduces other methods of co-ordinating tasks again many of which you are unlikely to be familiar with from a threads background.

Chapter 5 widens the horizon again with a look at using the parallel loop constructs to automatically run tasks. With the background you have in using tasks you can easily see how to extend and generally work with the higher level parallel constructs. Chapter 6 is more specialized still and looks at Parallel LINQ. If you don't know what LINQ is all about this isn't going to make much sense.

Finally the book rounds off with debugging and a chapter on parallel algorithms - parallel quicksort, map reduce and producer consumer.

Overall this is a methodical and very clear book and if you want to master the Task Parallel Library it is a good choice. However it doesn't deal with one of most common reasons for getting involved in parallel programming at all - shifting work off the UI thread and hence how to interact with the UI thread. In particular it doesn't cover the invoke pattern and doesn't discuss the dispatcher and asynchronous programming in general. If it did cover these topics it would be a much bigger book. Perhaps these should be the subject of a second volume.

As long as you can work out for yourself how to work with the UI thread, or don't care about it, then this is a good book on the topic of using the Thread Parallel Library.


Banner


Pro T-SQL Programmer's Guide 4th Ed

Author: Miguel Cebollero, Michael Coles and Jay Natarajan
Publisher: Apress
Pages: 744
ISBN: 978-1484201466
Print: 1484201469
Kindle: B00QWOZ2NI
Audience: SQL Server developers
Rating: 4.5
Reviewer: Ian Stirk

Despite a misleading title, this book aims to provide SQL develop [ ... ]



Dart in Action

Author: Chris Buckett
Publisher: Manning, 2013
Pages: 424
ISBN: 978-1617290862
Audience: Object-oriented programmers
Rating: 4
Reviewer: Mike James

Dart is Google's "other language" but it could be important and there is a need for a good book to explain why Google thinks it's worth the effort.


More Reviews

Last Updated ( Monday, 18 July 2011 )
 
 

   
Banner
Banner
RSS feed of book reviews only
I Programmer Book Reviews
RSS feed of all content
I Programmer Book Reviews
Copyright © 2016 i-programmer.info. All Rights Reserved.
Joomla! is Free Software released under the GNU/GPL License.