make "i" a member variable or property or make pScan a member method of some classclass YourClass
{
  public int i = 0;
  public void pScan() {...};
}YourClass yc = new YourClass();
yc.i = 6;new Thread(new ThreadStart(yc.pScan)).Start();

解决方案 »

  1.   

    哦,这样的啊
    那如果多个线程去读、写,要防止冲突,是用lock吗?
      

  2.   

    我也遇到这样的问题.我的要求简单但实现较困难.现在还在郁闷中....
    是这样的
    将10个文本文件数据使用多线程方式整理成一个文件.
    1.使用多线程.在传递参数的时候,使用了成员变量,导致文件路径传递不正确.发生了冲突.
    2.使用代理.ThreadStart其实就是一个无参数的代理,于是就自定义了一个代理,它可代参数.但是还是不正确
      

  3.   

    >>>那如果多个线程去读、写,要防止冲突,是用lock吗?if your 多个线程 are accessing the same object, then yes:YourClass yc = new YourClass();
    for (int i=0; i < 10; i++)
    {
       yc.i = i;
       new Thread(new ThreadStart(yc.pScan)).Start();
    }otherwise, no:for (int i=0; i < 10; i++)
    {
       YourClass yc = new YourClass();
       yc.i = i;
       new Thread(new ThreadStart(yc.pScan)).Start();
    }