假设我正在DataTable
从多个线程访问 a 。如果我想访问特定的行,我怀疑我需要锁定该操作(我可能会误会,但至少我知道这样我是安全的):
// this is a strongly-typed table
OrdersRow row = null;
lock (orderTable.Rows.SyncRoot) {
row = orderTable.FindByOrderId(myOrderId);
}
但是,如果我想更新该行,我应该再次锁定表(或者更确切地说,表的Rows.SyncRoot
对象),还是可以简单地锁定该行?