Jag brukade möta samma problem. Om den trådade appen använder samma kontextobjekt för alla trådar möter vi den här typen av problem. Skapa separata sammanhangsobjekt för varje tråd. Du kanske lägger till lite mer belastning på ditt RAM-minne men det ger klarhet om tillstånd för enheter i kontext.
List<Task> tasks = new List<Task>();
foreach (var item in list)
{
ObjectContext oContext = new ObjectContext("MyConnection");
Task t = Task.Factory.StartNew(() =>
{
this.Update(item,oContext);
});
tasks.Add(t);
}
Task.WaitAll(tasks.ToArray());