c#创建线程

来源:互联网 发布:java获取resource路径 编辑:程序博客网 时间:2024/05/16 17:56

       创建多参数的线程时,将方法要用到的参数及方法本身封装到一个类中,利用有参构造方法将参数的值传入,

因为方法在类内部,可以直接调用参数,最后用ThreadStart或ParameterizedThreadStart委托调用方法。

using System;using System.Threading;namespace PlusThread{    class MYThread    {        public void Print()        {            Console.WriteLine("无返回值的线程操作");        }        public void PrintOne(object i)        {            Console.WriteLine((string)i);        }        static void Main(string[] args)        {            //无参数的线程            Thread thread = new Thread(new ThreadStart(new MYThread().Print));            Thread.Sleep(2000);            thread.Start();            //接收一个参数            Thread oneThread = new Thread(new ParameterizedThreadStart(new MYThread().PrintOne));            oneThread.Start("有一个参数的线程");            //接收多个参数            MYThreadMore myTreadMore = new MYThreadMore("Hello", "World");            Thread threadMore = new Thread(new ParameterizedThreadStart(myTreadMore.PrintMore));            threadMore.Start("第三个参数");            //匿名方法            Thread threadNiming = new Thread(new ThreadStart(delegate ()            {                string firstParam = "Hello ";                string secondParam = "World";                Console.WriteLine(firstParam + secondParam);            }));        }    }    public class MYThreadMore    {        string FirstParam;        string SecondParam;        public MYThreadMore(string firstParam, string secondParam)        {            FirstParam = firstParam;            SecondParam = secondParam;        }        public void PrintMore(object j)        {            Console.WriteLine(FirstParam + " " + SecondParam + " " + j.ToString());        }    }}


0 0