C# 线程与任务

Python微信订餐小程序课程视频

https://edu.csdn.net/course/detail/36074

Python实战量化交易理财系统

https://edu.csdn.net/course/detail/35475

线程

线程:对于所有需要等待的操作,例如移动文件,数据库和网络访问都需要一定的时间,此时就可以启动一个新的线程,同时完成其他任务。一个进程的多个线程可以同时运行在不同的CPU上或多核CPU的不同内核上。

一个应用程序启动时,会启动一个进程(应用程序的载体),然后进程会启动多个线程。

一,使用Thread类启动线程和数据传输

使用Thread类可以创建和控制线程,Thread构造函数是一个无参无返回值的委托类型。

1️⃣对Thread传入一个无参无返回类型的方法-ThreadStart。

    public delegate void ThreadStart();

实例:

        static  void test()
 {
 Console.WriteLine("test is start");
 Console.WriteLine("test is running");
 Thread.Sleep(3000);
 Console.WriteLine("test is completed");
 }

 static void Main(string[] args)
 {
 Thread th = new Thread(test);
 th.Start();
 Console.WriteLine("main is completed");
 }

C# 线程与任务_第1张图片

2️⃣对Thread传入一个匿名方法(或lambda表达式)。用于传入的方法代码简单的情况

        static void Main(string[] args)
 {
 //lambad表达式
            Thread th = new Thread(()=> {
 Console.WriteLine("子线程1-ID:" + Thread.CurrentThread.ManagedThreadId);
 });
 th.Start();
 //匿名方法
            Thread th2 = new Thread(delegate ()
 {
 Console.WriteLine("子线程2-ID:" + Thread.CurrentThread.ManagedThreadId);
 });
 th2.Start();
 Co

你可能感兴趣的:(计算机,计算机)