首页 新闻 会员 周边

线程编程中的问题

0
悬赏园豆:20 [待解决问题]

#region  线程重启与暂停
            PauseAndResume testResume = new PauseAndResume();
            ////启动线程里的一个打印方法
            testResume.StartThread();
            int i = 0;
            while (testResume.counter.IsAlive)
            {
                if (i % 2 == 0)
                {
                    Console.WriteLine(testResume.counter.ManagedThreadId + "状态为" + testResume.counter.ThreadState);
                   ////  该方法的作用就是暂停线程
                    testResume.PauseThread();
                }
                else if (i % 2==1)
                {
                    ////  重启线程
                    Console.WriteLine(testResume.counter.ManagedThreadId + "状态为" + testResume.counter.ThreadState);
                    testResume.ResumeThread();
                }
                i++;
                Console.WriteLine("主线程ID{0}", Thread.CurrentThread.ManagedThreadId);
            }
           
            #endregion

      /// <summary>
      ///  线程执行的程序
      /// </summary>
      private void PrintNumers()
      {
          for (int i = 0; i < 1000; i++)
          {
              Console.WriteLine(i);
              //// 模拟较复杂的计算
             //Thread.Sleep(100);
          }
      }

为什么不没有达到偶数时就暂停线程  为奇数时就重启线程!而且该循环一直循环但不跳出!请大侠们指点下哈嘛!

奋斗2013的主页 奋斗2013 | 初学一级 | 园豆:162
提问于:2011-08-17 13:20
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册