首先,两段代码:
C#的main函数:
////////////////////////////////////////
using System;
using System.Collections.Generic;
using System.Text;namespace ConsoleTestApp
{
    class Program
    {
        
        static void Main(string[] args)
        {
          
             System.TimeSpan Div;
            System.DateTime last=DateTime .Now ;
            long i = 10000;
            int j = 0;
            DateTime begin = DateTime.Now;
            while (i--!=0)
            {
                if (!Console.NumberLock)
                {
                    break;
                }
                else
                {
                    Div = DateTime.Now - last;
                    if (Div.Ticks > 1)
                    {
                        Console.WriteLine ("a");
                        last = DateTime.Now;
                        j++;
                    }
                    else
                    {
                        System .Threading .Thread .Sleep (new TimeSpan (1-Div .Ticks ));
                    }
                }
            }
            Div = DateTime.Now - begin;
            Console.WriteLine("{1}用时:{0}ticks",Div .Ticks ,j );
            Console.WriteLine("PRESS ANY KEY TO EXIT!");
            Console.ReadKey();
        }
    }
}
////////////////////////C++的代码
#include "stdafx.h"
#include <time.h>using namespace System;int main(array<System::String ^> ^args)
{
    Console::WriteLine(L"Hello World");
long last= clock();
long past=0;
long i=10000;
int j=0;
long begin=clock();
while(i--!=0)
{ if(! Console::NumberLock )
{
break;
}
else
{
past=clock()-last;
if(past >10)
{
last=clock();
Console::WriteLine ("Y");
j++;
}
else
{
System::Threading ::Thread ::Sleep (System::TimeSpan::FromTicks (10-past));
}
}

}
long use=(clock()-begin);
Console::WriteLine("{0}次用时{1}毫微秒",j,use) ;
Console::WriteLine ("PRESS ANY KEY TO EXIT!");
Console::ReadKey ();
    return 0;
}
//////////////////////////////////////////////////
以上代码分别运行,
C#得到的结果
j是一个变化的量,有时候是19,有时候是20、21、22、23、、24、25、甚至26 也曾经有过,
但是在C++里面的J一直是25 ,消耗的时间也一直是391,这是为什么呢?
我是说为什么,c#的代码执行起来有很多变化。而c++貌似很稳定的样子呢?