程序中有一段是用来进行线程并发控制的,也就是说控制每次向服务器发送的请求数,待请求处理完成后再开启新的线程进行下一次请求程序中不存在死循环,程序运行正常但经常出现CPU使用100%的情况,不知是什么原因?

解决方案 »

  1.   

    while(true)
    {
    Thread.Sleep(100);//线程循环的时候给一个停顿的时间就不会100%了
    }
      

  2.   

    我是用一个hashtable保存每次的并发请求,当并发数达到10个的时候我就开始执行其中的两个请求,并记录这两个请求的状态为已处理;然后当下次再向hashtable中添加请求的时候,这时hashtable中的请求数>10,就清空hashtable;然后循环处理
      

  3.   

    根据以上的分析,程序中保留的并发请求数应该是<=10的,所以并不存在死循环啊,但是CPU使用100%,想问下大家,还有什么情况下可能会出现CPU使用100%?
      

  4.   

    你怎样判断达到了10个
    只要有循环的地方有Sleep试试。
    然后一个个筛选