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;
            }
        }
  • 相关阅读:
    hdoj 4251 The Famous ICPC Team Again
    hdoj 1879 最小生成树之继续畅通工程
    并查集之Dragon Balls
    并查集之 Is It A Tree?
    hdoj 1874最短路之畅通工程续
    1040: Count
    hdoj 1874最短路之最短路径问题
    并查集之小希的迷宫
    并查集之食物链
    Ordered Fractions
  • 原文地址:https://www.cnblogs.com/shidengyun/p/5609265.html
Copyright © 2011-2022 走看看