多線程傳遞參數的兩種方式


1 帶參數的委托方法來傳遞參數

        static void Main(string[] args)

        {

            var d = new Data { Message = "中國" };

            //通過帶參數的委托方法來傳遞參數 ParameterizedThreadStart

            var t2 = new Thread(ThreadMainWithParameters);

            t2.Start(d);

            System.Console.ReadLine();

        }

 

        static void ThreadMainWithParameters(object o)

        {

            Data d = (Data)o;

            Console.WriteLine("Running in a thread, received {0}", d.Message);

        }

2 通過成員方法和帶參數的構造函數傳參數 

    class Program

    {

        static void Main(string[] args)

        {

            var obj = new MyThread("廣東");

            var t3 = new Thread(obj.ThreadMain);

            t3.Start();

            System.Console.ReadLine();

        }

}

 

    public class MyThread

    {

        private string data;

 

        public MyThread(string data)

        {

            this.data = data;

        }

 

        /// <summary>

        /// 線程方法

        /// </summary>

        public void ThreadMain()

        {

            Console.WriteLine("Running in a thread, data: {0}", data);

        }

    }

 

    public struct Data

    {

        public string Message;

    }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM