多线程传递参数的两种方式

Posted VictorStone

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多线程传递参数的两种方式相关的知识,希望对你有一定的参考价值。

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;

    }

 

以上是关于多线程传递参数的两种方式的主要内容,如果未能解决你的问题,请参考以下文章

关于java中函数参数传递的两种方式的总结

MyBatis动态传递参数的两种方式#{}和${}

python命令行传递参数的两种方式

Vue路由传递query参数的两种方式

向过程传递参数有啥传递和啥传递两种方法,其中啥是VB默认的参数传递方式?

javaWeb前后端传递数据交互的两种方式