C#開啟線程的三種方式


1,異步委托方式

 1 static void Main(string[] args)
 2 {
 3     //異步委托開啟線程
 4     Action<int, int, int> a = Add;
 5     a.BeginInvoke(1, 2, 3, null, null);
 6 
 7 }
 8 static void Add(int a, int b, int c)
 9 {
10     Console.WriteLine(a + b + c);
11 }

2,Thread類開啟線程方式

static void Main(string[] args)
{
    Thread thread = new Thread(PrintJpeg);
    thread.Start("D:/1.jpg");
}
static void PrintJpeg(object FilePath)
{
    Console.WriteLine("打印" + FilePath.ToString() + "路徑下的圖片...");
    Console.WriteLine("線程ID:" + Thread.CurrentThread.ManagedThreadId);
}

3,通過任務開啟線程方式

static void Main(string[] args)
{
    Task t = new Task(PrintPDF);//方式一,task開啟線程
    t.Start();
    //task開啟線程的lambda書寫方式
    Task.Run(() =>
    {
        PrintPDF();
    });
            

    TaskFactory tf = new TaskFactory();//方式二,TaskFactory開啟線程
    tf.StartNew(PrintPDF);
    //TaskFactory開啟線程的lambda書寫方式
    tf.StartNew(() =>
    {
        PrintPDF();
    });
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM