本帖最后由 prestashop 于 2011-07-14 12:50:14 编辑

解决方案 »

  1.   

    锁定,否则可能出现错位修改的现象,
    如果同时想listview添加item的话,如果不锁定也会出现错乱
      

  2.   

    多谢,我是锁定错地方了,现在可以了,但是发现锁定后,ThreadPool的所有操作几乎是同步的,和没加ThreadPool差不多一样
    就是这段代码的执行效果
     for (int i = 0; i < listView1.Items.Count; i++)
              {
                    ThreadPool.QueueUserWorkItem(new WaitCallback(check), i);
              }

     for (int i = 0; i < listView1.Items.Count; i++)
              {
                    check(listView1.items[i].subitems[1].Text);
              }
    几乎是一样的,就是逐个执行,发挥不了多线程的速度优势.晕
      

  3.   

    只是checked 同步干嘛谁先谁后有什么关系呢
      

  4.   

    check只是其中一个语句,要实现的是检测LISTVIEW里的邮箱的有效性如果不锁定,则不能正确返回检测的结果到LISTVIEW,
    锁定后 多线程的速度优势显示不出来,如我上面所说的.
      

  5.   

    哪个不符合就在check方法里记录下k值,不要lock试试