zoukankan      html  css  js  c++  java
  • 多线程16-SpinWait

        class Program
        {
            static volatile bool isCompleted = false;
            static void UserModeWait()
            {
                while(!isCompleted)
                {
                    Console.Write(".");
                }
                Console.WriteLine();
                Console.WriteLine("waiting is complete");
            }
            static void HybridSpinWait()
            {
                var w = new SpinWait();
                while(!isCompleted)
                {
                    w.SpinOnce();
                    Console.WriteLine(w.NextSpinWillYield);

                }
                Console.WriteLine("waiting is complete");
            }
            static void Main()
            {
                var t1 = new Thread(UserModeWait);
                var t2 = new Thread(HybridSpinWait);
                Console.WriteLine("running user mode waiting");
                t1.Start();
                Thread.Sleep(20);
                isCompleted = true;
                Thread.Sleep(TimeSpan.FromSeconds(1));
                isCompleted = false;
                Console.WriteLine("running hybrid soinwait construct waiting ");
                t2.Start();
                Thread.Sleep(5);
                isCompleted = true;
            }
        }
  • 相关阅读:
    代码—五天前是星期几
    随手笔记-日期
    建造曲线记忆表格
    2017-5-10随手记
    java-web——第一课 tomcat
    复习
    Leetcode 24. Swap Nodes in Pairs(详细图解一看就会)
    这可能是最详细的解析HTTP走私攻击的文章
    使用grub2引导进入Linux或Window系统
    ACM集训第一次积分赛赛前复习+day4
  • 原文地址:https://www.cnblogs.com/shidengyun/p/5609265.html
Copyright © 2011-2022 走看看