c# script怎样处理多线程操作

   2024-09-29 8140
核心提示:在C#中,可以使用System.Threading命名空间中的类来处理多线程操作。以下是一个简单的示例,展示了如何使用多线程来执行两个任务

在C#中,可以使用System.Threading命名空间中的类来处理多线程操作。以下是一个简单的示例,展示了如何使用多线程来执行两个任务:

using System;using System.Threading;class Program{    static void Main()    {        // 创建一个Thread对象,表示一个新线程        Thread thread1 = new Thread(new ThreadStart(Task1));        Thread thread2 = new Thread(new ThreadStart(Task2));        // 开始新线程        thread1.Start();        thread2.Start();        // 等待线程执行完成        thread1.Join();        thread2.Join();        Console.WriteLine("所有线程执行完毕");    }    static void Task1()    {        for (int i = 0; i < 5; i++)        {            Console.WriteLine("线程1: " + i);            Thread.Sleep(1000); // 模拟耗时操作        }    }    static void Task2()    {        for (int i = 0; i < 5; i++)        {            Console.WriteLine("线程2: " + i);            Thread.Sleep(1000); // 模拟耗时操作        }    }}

在这个示例中,我们创建了两个新线程thread1thread2,分别执行Task1Task2方法。Task1Task2方法使用for循环输出一些文本并模拟耗时操作。通过调用Start()方法,我们启动了这两个线程。Join()方法用于等待线程执行完成。

除了使用Thread类外,还可以使用Task类来处理多线程操作。Task类是System.Threading.Tasks命名空间中的类,它提供了更高级的线程管理功能。以下是使用Task类的示例:

using System;using System.Threading.Tasks;class Program{    static void Main()    {        // 创建两个Task对象,表示两个异步任务        Task task1 = Task.Run(Task1);        Task task2 = Task.Run(Task2);        // 等待任务执行完成        Task.WaitAll(task1, task2);        Console.WriteLine("所有任务执行完毕");    }    static void Task1()    {        for (int i = 0; i < 5; i++)        {            Console.WriteLine("线程1: " + i);            Thread.Sleep(1000); // 模拟耗时操作        }    }    static void Task2()    {        for (int i = 0; i < 5; i++)        {            Console.WriteLine("线程2: " + i);            Thread.Sleep(1000); // 模拟耗时操作        }    }}

在这个示例中,我们使用Task.Run()方法创建了两个异步任务task1task2,分别执行Task1Task2方法。Task.WaitAll()方法用于等待所有任务执行完成。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号