我是在class a里建这个线程的,会不会有什么问题呢?

解决方案 »

  1.   

    基本的线程调用,我是这样写的, 会有问题吗?
    我是担心可能主线程也会调用clsA实例里的函数(testFunction),所以才问这个问题。using System;
    using System.Threading;public class clsB

        private clsA m_clsA;    public void SetCls(ref clsA)
        {
    m_clsA = clsA ;
        }    
                  
        public void ThreadProc() 
        {
            Console.WriteLine("test"); 
            m_clsA.testFunction();
        }
    }public class clsA
    {
        public static void Main() 
        {        
            clsB tws = new clsB();
            tws.SetCls(this);
            Thread t = new Thread(new ThreadStart(tws.ThreadProc));
            t.Start();
        }    public void testFunction()
        {
        }  
    }
      

  2.   

    我现在调用testFunction前,加了mutx.waitone, 这样大概可以了吧
      

  3.   

    sorry,是委托,不是引用。
    ms-help上有相关delegate与thread的例子。
    而且所有winform的control的跨线程调用都是通过delegate来调用的。
      

  4.   

    To:wolve,不明白什么意思?该怎么改?
      

  5.   

    不要用ref,另外在主线程退出前关闭子线程。
      

  6.   

    各位给点例子吧,我是要往thread里传给object参数,所以不太清楚,是要byval传递,还是byref传递呢?