91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

c#使用多線程的幾種方式示例詳解

c#
小云
110
2023-08-09 14:39:03
欄目: 編程語言

C#中使用多線程的幾種方式有以下幾種:

  1. 使用Thread類:Thread類是C#中最基本的多線程類,可以使用它創建和控制線程。下面是一個使用Thread類創建并啟動線程的示例:
using System;
using System.Threading;
class Program
{
static void Main()
{
Thread thread = new Thread(DoWork);
thread.Start();
// 主線程繼續執行其他操作
Console.WriteLine("Main thread is working...");
// 等待子線程結束
thread.Join();
Console.WriteLine("Press any key to exit.");
Console.ReadKey();
}
static void DoWork()
{
Console.WriteLine("Child thread is working...");
// 模擬耗時操作
Thread.Sleep(2000);
Console.WriteLine("Child thread completed.");
}
}
  1. 使用ThreadPool類:ThreadPool類是C#中用于管理線程池的類,它可以自動分配和管理線程。下面是一個使用ThreadPool類執行異步操作的示例:
using System;
using System.Threading;
class Program
{
static void Main()
{
ThreadPool.QueueUserWorkItem(DoWork);
// 主線程繼續執行其他操作
Console.WriteLine("Main thread is working...");
Console.WriteLine("Press any key to exit.");
Console.ReadKey();
}
static void DoWork(object state)
{
Console.WriteLine("Child thread is working...");
// 模擬耗時操作
Thread.Sleep(2000);
Console.WriteLine("Child thread completed.");
}
}
  1. 使用Task類:Task類是C#中用于異步編程的類,它提供了更高級的多線程管理功能。下面是一個使用Task類執行異步操作的示例:
using System;
using System.Threading.Tasks;
class Program
{
static void Main()
{
Task task = Task.Run(DoWork);
// 主線程繼續執行其他操作
Console.WriteLine("Main thread is working...");
// 等待任務完成
task.Wait();
Console.WriteLine("Press any key to exit.");
Console.ReadKey();
}
static void DoWork()
{
Console.WriteLine("Child thread is working...");
// 模擬耗時操作
Task.Delay(2000).Wait();
Console.WriteLine("Child thread completed.");
}
}

以上示例分別使用了Thread類、ThreadPool類和Task類創建和管理線程。根據實際需求和情況選擇合適的方式來使用多線程。

0
鄂伦春自治旗| 阿拉善左旗| 常宁市| 宜城市| 邹平县| 江山市| 泰来县| 丁青县| 荆州市| 离岛区| 舟山市| 甘孜县| 浮梁县| 松潘县| 赤城县| 永修县| 通许县| 青岛市| 潜江市| 利津县| 舞钢市| 泗洪县| 韶关市| 卫辉市| 松原市| 石景山区| 九台市| 额尔古纳市| 崇义县| 南平市| 白城市| 尚志市| 凌云县| 张家口市| 巧家县| 彰武县| 芒康县| 寿宁县| 新闻| 南城县| 宝丰县|