近来在学习Eugene Agafonov编写的《C#多线程编程实战》(译),做些笔记也顺便分享一下^-^
using System;
using System.Threading;
namespace SpinWait_Test
{
class Program
{
static void Main(string[] args)
{
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 bybrid SpinWait construct waiting");
t2.Start();
Thread.Sleep(5);
_isCompleted = true;
Console.ReadKey();
}
static volatile bool _isCompleted = false;
static void UserModeWait()
{