1)原理不同 sleep()方法是Thread类中的一个静态方法,是线程用来控制自身流程的。 wait()方法是Object类中的方法,用于线程间的通信。 2)对锁的处理机制不同 线程调用共享对象的wait()方法后会释放当前共享变量持有的锁。 调用sleep()方法的线程不会释放当前持有的锁。 3)使用地方不同 sleep方法则可以放在任何地...
第二点:对待锁有什么不一样,由于sleep是Thread的静态方法,所以他是不会释放锁的。而wait则不一样,它会释放锁。看代码立马让你明白,首先看下sleep方法,如图: sleep方法 sleep执行结果 打印的结果能够看得出线程1睡眠了5s但是在这5s之前没有释放锁(因为线程2执行了10s),也就是说,在线程1执行完后,线程2才执行...