Object.wait()
Thread.sleep(long)
Thread.interrupt()
Thread.yield() 以上几个方法有什么不同?Thread.join()这个方法是干什么的?看了帮助,也没看懂

解决方案 »

  1.   

    Thread.yield() 这个方法执行后是不是cpu空闲又会立即继续执行?
    sleep(long) 执行了这个方法后,能不能在没有到指定时间时,被其他线程恢复执行?
    interrupt() 这个方法执行后,怎么恢复?
      

  2.   

    Object.wait() 线程进入等待区,等待其他线程的唤醒
    Object.wait(long) 线程进入等待区,如果在一段时间没有被唤醒,则自动唤醒自己。
    Thread.sleep(long) 线程进入休眠,不能被其他线程唤醒,只能调用interrupt()去中止线程的执行
    Thread.interrupt() 中止处于wait和sleep状态的线程
    Thread.yield()     线程放弃本次cpu的执行,等待下次
    Thread.join()      后面的线程等待该线程执行完毕,才能启动
      

  3.   

    Object.wait() 进入等待区,等待其他线程的唤醒
    Object.wait(long) 进入等待区,如果在一段时间没有被唤醒,则自动唤醒自己。
    Thread.sleep(long) 进入休眠,不能被其他线程唤醒,只能调用interrupt()去中止线程的执行
    Thread.interrupt() 中止处于wait和sleep状态的线程
    Thread.yield()     线程放弃本次cpu的执行,等待下次
    Thread.join()      后面的线程等待该线程执行完毕,才能启动
      

  4.   

    Object.wait():让出所有已经占用的资源,并等到notify()或notifyAll()后才会继续参与竞争
    Thread.sleep(long):将当前线程阻塞指定的毫秒数.当过了指定时间,它将等待,直到被cpu调度执行。
      

  5.   

    Thread.interrupt():发送一个中断请求给一个线程。这个线程得中断状态将被设为true。If this thread is blocked in an invocation of the wait(), wait(long), or wait(long, int) methods of the Object class, or of the join(), join(long), join(long, int), sleep(long), or sleep(long, int), methods of this class, then its interrupt status will be cleared and it will receive an InterruptedException. 
    Thread.interrupt() 中止处于wait和sleep状态的线程,这句话应该是错得吧?