别的程序比如delphi,在for,while这样的循环中可以用语句让出处理器,不至于出现无响应的现象。不知道java中有没有类似的语句,或是有什么方法达到这种效果?谢谢。

解决方案 »

  1.   

    小弟对delphi不熟,LZ要让出处理器的目的是什么?
      

  2.   

    Thread中的静态方法yield(),但是yield()和其他的方法(sleep,wait,join)不同的是,yield()不是有保障的方法,就是说调用他只是一个提示,至于执行不执行无法预知,所以yield是一个无保障的方法,和垃圾回收器中的System.gc()的道理是相同的,都只是一个提示,无法预知到底能不能马上执行或甚至是执不执行。
      

  3.   

    class Object定义的
    public final void wait()throws InterruptedException
    Invoking wait() on an object causes the current thread to stop executing until some other thread invokes notify() on the same object. The wait() and notify() methods are used for thread synchronization
      

  4.   

    3楼4楼的不要误导LZ,LZ是想让循环继续,但是本界面不出现卡屏。而不是你们告诉的程序暂停。
    通常的解决方法就是把你要大循环的程序写到线程里,这样就不影响你的主程序了。
      

  5.   

    baobao28(瓜瓜) 
    3楼4楼的不要误导LZ,LZ是想让循环继续,但是本界面不出现卡屏。而不是你们告诉的程序暂停。
    通常的解决方法就是把你要大循环的程序写到线程里,这样就不影响你的主程序了。
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~感觉这是正解,
      

  6.   

    单独开一个线程就没问题了,可以适当降低线程优先级,但用JAVA默认的线程调度足够保证界面的响应速度了。