C#锁定SynchronizedCollection内的对象

时间:2017-08-29 17:58:41

标签: c#

可以锁定SynchronizedCollection中的对象吗?

在下面的示例中,SynchronizedCollection包含其他SynchronizedCollection。

private SynchronizedCollection<SynchronizedCollection<bool>> _lockCollection;

lock (_lockCollection[stationId])
{
     /* Synchronized code here */
}

这段代码好吗?

1 个答案:

答案 0 :(得分:1)

简短的回答是。您可以锁定SynchronizedCollection返回的SynchronizedCollection ...(该语句本身似乎有问题)

较长的答案有一些考虑因素......

  1. 您是否应该这样做取决于您的目的和应用。该集合本身锁定了共享&#34;同步&#34;对象,因此不会与您正在创建的锁冲突。
  2. 集合本身执行内部锁定,所以你真的需要锁定吗?您在锁内执行了哪些操作可以证明这一点?