Wenn ich die Aktualisierung von einer DataRow, Sperre ich den gesamten DataTable oder einfach nur die DataRow?

Glaube, ich bin Zugriff auf eine DataTable von mehreren threads. Wenn ich für den Zugriff auf eine bestimmte Zeile, ich vermute, dass ich gesperrt werden müssen, dass die operation (ich könnte mich irren über diese, aber zumindest weiß ich, auf diese Weise bin ich sicher):

//this is a strongly-typed table
OrdersRow row = null;
lock (orderTable.Rows.SyncRoot) {
    row = orderTable.FindByOrderId(myOrderId);
}

Aber dann, wenn ich will update dieser Zeile, soll ich die Tabelle sperren (oder besser gesagt, der Tisch Rows.SyncRoot Objekt) wieder, oder kann ich einfach den lock auf die row?

InformationsquelleAutor Dan Tao | 2010-04-09
Schreibe einen Kommentar