for (int i = 0; i < 100; i++) ;
没有块,这样的循环,怎么解释?
while (Environment.TickCount - ticks < 2000) ; 
2秒执行一次,这又是怎么解释,在2秒之内,线程是不是出于忙碌状态,如果是,它忙的什么呢?

解决方案 »

  1.   


    不知道这个代码要干什么。难道是闲屋里不够暖和,想把CPU烧热一点?
      

  2.   

    ok,你说对了,就是看看CPU的占用率,不过,我不知道,为什么CPU会热呢?
      

  3.   

    因为它无事可做,可以进入idel状态。相反地,如果程序无更重要的事可做,非要把CPU空转,这也就只好对这类编程者开具玩笑了。
      

  4.   

    源代码是这样的:
     class Program
        {
            static void Main(string[] args)
            {
                WaitCallback callBack;
                callBack = new WaitCallback(PooledFunc);
                ThreadPool.QueueUserWorkItem(PooledFunc, "张三");
                ThreadPool.QueueUserWorkItem(callBack, "李四");
                ThreadPool.QueueUserWorkItem(callBack, "王二");      
                Console.ReadLine();
            }
            static void PooledFunc(object state)
            {
                Console.WriteLine("{0}开始从服务器下载文件", (string)state);
                int ticks = Environment.TickCount;
                while (Environment.TickCount - ticks < 2000) ;
                Console.WriteLine("{0}下载完了....", (string)state);
            }
        }我就不懂,为啥CPU利用率这么高呢?
     while (Environment.TickCount - ticks < 2000)这一句,CPU到底在做什么
      

  5.   

    去网上下载文件的方法吧,设定一段程序执行的时间,等待下载完毕.其实我觉得可以使用Sleep吧?