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();
            }
  • 相关阅读:
    架构思维—软件架构—系统架构—系统—大局观、系统观(结构与秩序)、还原论(分与合)
    微核架构的本质是微核掌握了更多的上下文-----微核架构 = 整体上下文 + 配置组成
    spring mvc的工作流程
    @getMapping和@postMapping,@RestController
    springTransaction Management
    Architecture of Spring Framework
    Tomcat 6 —— Realm域管理
    Tomcat模型结构
    spring的启动过程
    ServletContext、webApplicationContext、DispatcherServlet与容器
  • 原文地址:https://www.cnblogs.com/johsan/p/12448210.html
Copyright © 2011-2022 走看看