The blog of Eric Sibly; focusing on mountain biking, .NET development for the Desktop, Smartphone and PocketPC.

Tuesday, August 09, 2005

Threading and Concurrency...

As our applications get more complex we need to look at ways to better utilise the available hardware and operating systems (such as multiple processors) to improve performance. This means writing software that utilises multiple threads to break down the task into smaller units of work that can be executed concurrently. This then creates issues with concurrency, in that multiple threads can being working on the same data structures at the same time with potential for creating some really nasty bugs - these suckers can be nigh on impossible to debug! To assist with concurrency we can look to synchronise (lock) access to the data structures, but now we need to be wary of dead locks or over locking creating additional performance issues. So, buyer beware - with great power comes create responsibility! This article provides a good overview of concurreny and it potential pitfills, and offers good advice on how to effectively code in a multithreaded manner. Good luck!


Post a Comment

<< Home