C# Task 创建 线程的四种方式

代码

private void btnInvoke_Click(object sender, EventArgs e)
{
    Console.WriteLine($"开始执行,当前线程:{Thread.CurrentThread.ManagedThreadId.ToString("00")} ");
    // 方法一
    Task task = new Task(()=> {
        this.Print("A");
    });
    task.Start();
    // 方法二
    Task.Run(() => { this.Print("B");  });
    // 方法三
    TaskFactory taskFactory = new TaskFactory();
    taskFactory.StartNew(() => { this.Print("C"); });
    // 方法四
    Task.Factory.StartNew(() => { this.Print("D"); });

    Console.WriteLine($"结束执行,当前线程:{Thread.CurrentThread.ManagedThreadId.ToString("00")}");
}


public void Print(string name) {
    Console.WriteLine($"{name}开启, 当前线程:{Thread.CurrentThread.ManagedThreadId.ToString("00")}");
    Thread.Sleep(1000*2);
    Console.WriteLine($"{name}结束, 当前线程:{Thread.CurrentThread.ManagedThreadId.ToString("00")}");
}

 

posted @ 2025-07-03 18:42  市丸银  阅读(14)  评论(0)    收藏  举报