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();
            }
  • 相关阅读:
    python中的scapy模块
    延时注入跨库注入
    Linux 技巧:让进程在后台可靠运行的几种方法
    爆破phpmyadmin小脚本
    ACID原则
    MYSQL批量插入数据库实现语句性能分析
    MYSQL批量插入数据库实现语句性能分析
    JS数组去重算法
    JS数组去重算法
    JS中substr和substring的用法和区别
  • 原文地址:https://www.cnblogs.com/johsan/p/12448210.html
Copyright © 2011-2022 走看看