C#之线程ThreadStart

Posted xingyuanzier

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#之线程ThreadStart相关的知识,希望对你有一定的参考价值。

本来自于https://docs.microsoft.com/zh-cn/dotnet/api/system.threading.threadstart?view=netframework-4.8;

static void Main(string[] args)
       
            ThreadStart threadStartDelegate = new ThreadStart(Work.DoWork);   //创建委托
            Thread thread = new Thread(threadStartDelegate);  //用ThreadStart委托实例化线程Thread
            thread.Start();
            Work work = new Work();
            work.Data = 42;
            threadStartDelegate = new ThreadStart(work.DoMoreWork);
            thread = new Thread(threadStartDelegate);
            thread.Start();
            Console.ReadKey();
       
 public class Work
   
        public static void DoWork()
       
            Console.WriteLine("Static thread procedure.");
       
        public int Data;
        public void DoMoreWork()
       
            Console.WriteLine("Instance thread procedure. Data=0", Data);
       
   
       C#使用线程时首先需要创建线程,使用Thread类构造函数创建实例需要用到ThreadStart委托或者ParameterizedThreadStart 委托创建 Thread 类的实例,ThreadStart 委托只能用于无返回值、无参数的方法,ParameterizedThreadStart 委托则可以用于带参数的方法。线程不会直接运行,直至调用Start()方法时为止。

以上是关于C#之线程ThreadStart的主要内容,如果未能解决你的问题,请参考以下文章

C#多线程之线程池篇3

《CLR via C#》之线程处理——线程池与任务

《CLR via C#》之线程处理——任务调度器

C#之任务,线程和同步

C#基础之通过任务开启线程

《C#零基础入门之百识百例》(九十七)线程介绍 -- Thread类 -- 开启线程的几种方式