ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/cpref/html/frlrfSystemCollectionsArrayListClassSyncRootTopic.htm

解决方案 »

  1.   

    你需要lock 住 他的 SyncRoot
      

  2.   

    lock 住 他的 SyncRoot
    这个方法原来用过,也不行才改成现在这种方法的,我现在感觉不是同步的问题,而是在系统资源比较少的时候我这里又如此频繁的操作才导致我现在用的这个同步方法应该是没有问题的,我设置断点的话在立即和监视窗口都完全不能访问这个集合对象
      

  3.   

    你用 IsSynchronized 这样得到同步的 wrapper 对象, 是不能保证 thread-safe 的。 因为你这个得到的同步的对象可能是实际上要维持 thread-safe 的那个集合的多个不同的引用而已。 你锁住这个没有用, 必须要锁定 SyncRoot.不知道我说清楚了没有。
      

  4.   

    lock (someListObject.SyncRoot) {
      你的操作;
    }
      

  5.   

    我已经说过了
    lock (someListObject.SyncRoot) {
    这个方法我用过,也是无效所以才用上面的方法的
    我目前正在试验用互斥量看行不行,这些同步方法都快被我试验遍了