http://community.csdn.net/Expert/topic/3352/3352999.xml?temp=.4171106

解决方案 »

  1.   

    Thread thre = new Thread(new ThreadStart(Start));可以在之前建一个参数类,把参数放进去
    public class Parameters
    {
       public string para1;
       public int para2;
       ...
    }
    运行时,先定义
    public Parameters Pa = new Parameters();Pa.para1="aaa";
    Pa.para2=123;
    .....Thread thre = new Thread(new ThreadStart(Start));private void Statr()
    {
       string pa1 = Pa.para1;
       int pa2 = Pa.para2;
       ......
    }
      

  2.   

    我的方法是用类来封装线程来实现传入参数,直接使用参数是不行的。
    例如:
    Public Class test
        Private m_param1, m_param2 As Integer    Public Sub New(ByVal param1 As Integer, ByVal param2 As Integer)
            m_param1 = param1
            m_param2 = param2
        End Sub    Public Sub Start()
            Dim thd As System.Threading.Thread = New System.Threading.Thread(AddressOf Me.Proc)
            thd.Start()
        End Sub    Private Sub Proc()
            m_param1 -= m_param2
        End SubEnd Class
      

  3.   

    能否用public static 做参数,我要多次调用这个方法,但参数是变化的!
      

  4.   

    using System;
    using System.Threading;class ThreadSample
    {
       public static void Main()
       {
         ThreadSample ts= new ThreadSample();
        }
        public ThreadSample()
        {
           int i;
           Thread newCounter = new Thread(new ThreadStart(Counter));       newCounter.Start();
           for(i=0;i<20;i++)
           {
              Console.WriteLine("main: {0}",i);
              Thread.Sleep(2000);
            }
        }
        void Counter()
        {
           Thread.Sleep(4000);
         }
       }