Efficient parallel applications aren't born by merely running an old app on a parallel processor machine. Tuning needs to be done if you're to gain maximum benefit.
Rahul V. Patil and Boby George
MSDN Magazine June 2008
View Complete Post
I have the following update code, that give me concurrency errors when I try to save the page:
-- Updates a record in the [dbo].[carduri] table.
-- Concurreny is supported by using checksum method.
CREATE PROCEDURE pproliaCarduriUpdate
I have run into a problem with optimistic concurrency in my dynamic data application (where all relevant settings are at their default values); when I try to update or delete one of my tables, I see the following error:
Exception type: ChangeConflictException Exception message: Row not found or changed.
I am the only user of my database at the moment, so I can guarantee that the data both exists and has not been changed outside the application!
Various forums have suggested that the way to deal with this is to set the column attributes so that the concurrency checking is disabled; i.e.
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PropSurname", DbType="NVarChar(255)", UpdateCheck=UpdateCheck.Never)]
However, to do this manually through the Visual Studio designer will take me hours (I have a lot of tables) and if I then change the schema of one of the tables in the DB, won't I then have to do it all again? I've tried editing the .designer.cs file directly but my changes are subsequently overwritten (as expected).
All suggestions gratefully received!
Visual Studio 2010 includes new resource contention profiling features that help detect concurrency contention among threads. We walk through a profiling investigation to demonstrate how you can pinpoint and fix resource contention problems in your code.
MSDN Magazine June 2010
Understanding performance bottlenecks in multithreaded apps used to require significant instrumentation and analysis by expert developers. The Concurrency Visualizer in Visual Studio 2010 significantly reduces the burden of parallel performance analysis.
MSDN Magazine March 2010
This article describes how to integrate the new parallel computing libraries in the Visual Studio 2010 Beta into existing C++ projects. Based on four common scenarios, the column explains a few of the ways developers can use the APIs and classes that are part of the Parallel Pattern Library (PPL), Asynchronous Agents Library, and Concurrency Runtime.
MSDN Magazine October 2009
As more and more multi-threaded software applications get developed, software development professionals need to adopt new tools, techniques and metrics that can deal with multi-threaded software. Synchronization coverage is a simple, practical way to do this and this article covers a prototype synchronization coverage tool for .NET, called Sync Cover.
Chris Dern, Roy Tan
MSDN Magazine September 2009
Axum is not a general-purpose language like C# or VB, but one aimed squarely at the problem of concurrency, designed from the outset to be part of a suite of languages that collectively cooperate to solve a business problem.
Here we describe some of the more common challenges to concurrent programming and present advice for coping with them in your software.
MSDN Magazine October 2008
Windows Vista has lots of goodies for native C++ developers including condition variables, slim reader/writer locks, and one-time initialization.
Robert Saccone and Alexander Taskov
MSDN Magazine June 2007
Because of the popularity of multiprocessor machines, many concurrency articles focus on how to make concurrency safe in your code. However, they don't deal with how to get concurrency into your code in the first place.
MSDN Magazine September 2006
What can a robot-programming toolkit do for you? Read on and find out.
Multithreading offers lots of benefits, but it's not a technique you can employ willy nilly without first learning about all the potential pitfalls. To get you started, Vance Morrison covers multithreading and the shared memory threading model, race conditions and how concurrent access can break invariants. He also discusses how to use locks so you can understand the costs involved.
MSDN Magazine August 2005
Enterprise development has been moving towards a discon-nected model in recent years and ADO. NET development is no exception. While the disconnected model of the ADO. NET DataSet offers great flexibility, that adaptability also means looser control over data updates than you get with a connected data access model.
MSDN Magazine October 2004
One of the key features of the ADO. NET DataSet is that it can be a self-contained and disconnected data store. It can contain the schema and data from several rowsets in DataTable objects as well as information about how to relate the DataTable objects-all in memory.
MSDN Magazine September 2004
ADO.NET provides many techniques for improving the performance of data-intensive applications and for making them easier to build. The DataSet, the hallmark of the ADO.NET object model, serves as a miniature, disconnected facsimile of a data source. While using the DataSet improves performance by reducing expensive trips to the database server, it also introduces the possibility of multiple users attempting to change the same data simultaneously, thereby generating data concurrency exceptions. This article examines the common causes behind data concurrency exceptions and presents techniques for overcoming them.
MSDN Magazine April 2003