sleep是Thread的静态方法,wait是Obejct的方法,任何对象实例都能调用 (因为 sleep 是让当前线程休眠,不涉及到对象类,也不需要获得对象的锁,所以是线程类的方法。wait 是让获得对象锁的线程实现等待,前提是要获得对象的锁,所以是类的方法)sleep不会释放锁,也不需要占用锁.wait会释放锁,调用前提是当前线程占用锁它们都可以被interrupted方法中断sleep 一般用于当前线程休眠,或者轮循暂停 *** 作,wait 则多用于多线程之间的通信。
try { Thread.sleep(3000L); } catch (InterruptedException e) { e.printStackTrace(); } synchronized (lock){ try { lock.wait(); } catch (InterruptedException e) { e.printStackTrace(); } }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)