我有个程序,采用的是单线程的方式,但是在取数据库表的时候怕CPU占用过高,使用了thread.sleep()方法,从而导致了界面假死的情况,请问有没有好的解决方法

解决方案 »

  1.   

    取数据库表的时候怕CPU占用过高?????
    那你就取消sleep()呗
    取个数据表不太大的话用不着考虑这些
      

  2.   

    单线程还Sleep不卡你卡谁啊。取数据库表的时候怕CPU占用过高 楼主还真是有幽默感呢。
      

  3.   


    单线程还Sleep不卡你卡谁啊。
      

  4.   

    单线程还Sleep不卡你卡谁啊。程序都是一步一步的走的,取数据时,可以弹出提示加载;
    这样友好点
      

  5.   

    我再也不相信爱情了
    查数据库跟cpu有毛线关系?就算数据量大,是内存方面的事吧?好吧暂且认为cpu占用过高,既然都占用过高了,你还不让他尽快跑完,还sleep什么?
    想不卡的话,用委托,异步读取绑定等处理数据,像楼上说的,界面友好点就显示正在加载,在委托的回调里,数据处理完以后,将正在加载的图片文字隐藏就ok
      

  6.   

    自动查表频率低可用定时器;自动查表频率高,sleep(1)就足够
      

  7.   

    取数据的操作放在一个新的线程中,这样不会导致UI线程阻塞。在用新线程去变更UI界面一个的控件,这样看上去就不会假死了
      

  8.   

    查数据库跟cpu有啥关系?
    内存4G,cpu2.7Ghz查十万条记录所用的时间恐怕比内存256M,cpu1.2Ghz查一万条记录所用的时间都要少很多如果数据量实在是太大,可以异步查询或者多开几个线程帮忙查询
      

  9.   

    单线程 Sleep  就是卡了、你这样做更不就不用sleep了。