易采站长站为您分析C#实现向多线程传参的三种方式,以实例形式较为详细的分析了C#多线程及参数传递的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
本文实例讲述了C#实现向多线程传参的三种方式。,具体如下:
从《C#高级编程》了解到给线程传递参数有两种方式,一种方式是使用带ParameterizedThreadStart委托参数的Thread构造函数,另一种方式是创建一个自定义类,把线程的方法定义为实例的方法,这样就可以初始化实例的数据,之后启动线程。
方式一:使用ParameterizedThreadStart委托
如果使用了ParameterizedThreadStart委托,线程的入口必须有一个object类型的参数,且返回类型为void。且看下面的例子:
- using System; using System.Threading;
- namespace ThreadWithParameters {
- class Program {
- static void Main(string[] args) {
- string hello = "hello world"; //这里也可简写成Thread thread = new Thread(ThreadMainWithParameters);
- //但是为了让大家知道这里用的是ParameterizedThreadStart委托,就没有简写了 Thread thread = new Thread(new ParameterizedThreadStart(ThreadMainWithParameters));
- thread.Start(hello); Console.Read();
- } static void ThreadMainWithParameters(object obj)
- { string str = obj as string;
- if(!string.IsNullOrEmpty(str)) Console.WriteLine("Running in a thread,received: {0}", str);
- } }
- }










