解决方案 »

  1.   

    怎么看着有点奇怪。每个线程都枚举listView1的内容做处理?这样重复做工了。
      

  2.   

    for(int i=0;i<4;i++)
    {
        thread[i] = new Thread(this.connectftp);
        thread[i].start();
    }这样吗?我第一次使用多线程。如果不锁多个线程不就会访问一条数据么?
      

  3.   

    多个线程同时访问listView1,而且还对其进行修改,这样,一定注意互斥,lock,monitor等,自己看看
      

  4.   

    在多线程中直接修改窗口控件,本身就会出异常。参见MSDNControl.Invoke 方法http://msdn.microsoft.com/zh-cn/library/zyzhdc6b(v=vs.100).aspx
      

  5.   

    你这是将线程加入到数组里了,而不是给线程传参
    当然你可以先定义一组线程,再循环启动
    thread[i] = new Thread(this.connectftp);
        thread[i].start(i);
    private void connectftp(object i){}
    在线程函数里,不要都去遍历listView1
    提前给listView1分段,然后每个线程去处理一段
      

  6.   

    另外,listView1是在主窗口中的控件,线程直接读取会报错
    要用委托,