DataTable
複数のスレッドからにアクセスしているとします。特定の行にアクセスしたい場合は、その操作をロックする必要があると思います (これについては間違っている可能性がありますが、少なくともこの方法で安全であることはわかっています)。
// this is a strongly-typed table
OrdersRow row = null;
lock (orderTable.Rows.SyncRoot) {
row = orderTable.FindByOrderId(myOrderId);
}
しかし、その行を更新したい場合は、テーブル (またはテーブルのRows.SyncRoot
オブジェクト)を再度ロックする必要がありますか、それとも単純に行をロックできますか?