问题应该是用什么方法在挂起线程的,用System.Threading.Thread.Sleep():方法来挂起当前线程就不会出问题。如果要指定某个线程挂起,只要获取线程对象如thread1,然后调用thread1.Sleep():即可挂起。

解决方案 »

  1.   

    挂起是用thread1.suspend来进行的,如果再回到数据采集页面,用resume来开始挂起的程序
      

  2.   


    还有,Sleep是静态方法,不可用对象来调用吧?
      

  3.   

    还有一点要说明的,数据采集时同时用backgroundworker将采集到的数据保存至数据库。因为我发现在不进行绘图的时候也有cpu的问题,是不是backgroundworker这个后台线程引发的呢?
      

  4.   


    有可能,说不定backgroundworker在线程开始运行,而线程被挂起时也在运行,你可以尝试将backgroundworker去掉,改用同步方式保存到数据库,反正保存的操作不会消耗多少时间的,只有复杂的查询才会比较慢。