• 多线程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;
            }
        }
  • 相关阅读:
    mysql日期计算转换
    Mysql的DATE_FORMAT()日期格式转换
    JDBC连接池BoneCP
    JSP之三大指令
    JSP的三大指令 七大动作 九大对象
    JSP的语法
    orcale序列操作
    Orcale约束-------外键约束
    Orcale约束-------檢查約束
    Orcale约束-------主键约束
  • 原文地址:https://www.cnblogs.com/shidengyun/p/5609265.html
Copyright © 2020-2023  润新知