C# 多线程

DEMO:


        private async static void TestTasks()
        {
            Console.WriteLine("主线程开始");
            //for (var i = 0; i < 5; i++)
            //{
            //    Task<string> task = Task<string>.Run(() =>
            //    {
            //        Thread.Sleep(1000);
            //        Console.WriteLine(Thread.CurrentThread.ManagedThreadId.ToString());
            //        return Thread.CurrentThread.ManagedThreadId.ToString();
            //    });
            //    ////会等到任务执行完之后执行
            //    //task.GetAwaiter().OnCompleted(() =>
            //    //{
            //    //    Console.WriteLine(task.Result);
            //    //});
            //}
            System.Diagnostics.Stopwatch watch1 = new System.Diagnostics.Stopwatch();
            watch1.Start();
            for (int i = 1; i <= 10; i++)
            {
                Console.Write(i + ",");
                Thread.Sleep(1000);
                //Task<string> task = Task<string>.Run(() =>
                //{
                //    Thread.Sleep(1000);
                //    //Console.WriteLine(Thread.CurrentThread.ManagedThreadId.ToString());
                //    return Thread.CurrentThread.ManagedThreadId.ToString();
                //});
                ////会等到任务执行完之后执行
                //task.GetAwaiter().OnCompleted(() =>
                //{
                //    Console.WriteLine(task.Result);
                //});
            }
            watch1.Stop();
            Console.WriteLine("watch1:" + watch1.Elapsed);

            System.Diagnostics.Stopwatch watch2 = new System.Diagnostics.Stopwatch();
            watch2.Start();
            //会调用线程池中的线程
            Parallel.For(1, 10, i =>
            {
                Console.WriteLine(i + ",线程ID:" + Thread.CurrentThread.ManagedThreadId);
                Thread.Sleep(1000);
            });
            watch2.Stop();
            Console.WriteLine("watch2:" + watch2.Elapsed);
 
            Console.WriteLine("主线程结束");
            Console.Read();
        }
原文地址:https://www.cnblogs.com/johsan/p/12448210.html