我有一个一堆数据,这堆数据是用N个线程去更新的,我用一个类数组去存了,由于某些问题,我只能把这个类数组设为静态的,用上面的N个线程去更新然后我想用表格去实时的显示出来,用什么样的方法比较好?还有这个类数组其它的地方还要用得上去做数据的处理的以前用delphi是用临界的办法去保护的,如果不用的话,N个线程同时更新一个变量就出错了

解决方案 »

  1.   

    lock锁的是共享资源
    Mutex多用于锁定多线程间的同步调用
    public void Function()
    {
    object lockThis = new object();
    lock (lockThis)
    {
    }
    }
      

  2.   

    lock锁
    实际没有任何区别,只是语法不同现代语言全是相互借鉴的
    没理由用c能写出来的,用delphi就写不出
    用delphi能写出来的,用c#反而写不出
      

  3.   

    至于实时的问题那个是事件委托,线程根据lock值,更新自己的,UI数据刷新应该交给对象本身的事件处理int _xx
      int xx
    {
      set{
            if{_xx!=value}
            {
              _xx=value
           调用事件(“俺被更新了”)
            }
        }
    }
      

  4.   

    表格呢?用DataGridView好还是有其它的更好的选择?