zoukankan      html  css  js  c++  java
  • 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();
            }
  • 相关阅读:
    myeclipse python下配置文档说明_转载
    Python快速教程博客园地址
    Mysql_存储功能
    Java_链表实现
    浅谈JAVA集合框架(转载)_常用的Vector和HashMap
    Java_Vector类的使用,以及Stack继承Vector,推出的栈的特性
    JavaWeb_数据传输_原
    HTML <input> 标签的 type 属性
    Java_Web_request.setAttribute("result",username);
    秦柯视频与文档资料-全集
  • 原文地址:https://www.cnblogs.com/johsan/p/12448210.html
Copyright © 2011-2022 走看看