面试官:请你说一下sleep()、wait()、join()和yield()的区别

我们先来介绍下锁池与等待池的概念。首先来看下锁池的概念所有需要竞争同步锁的线程都会放在锁池当中,比如当前对象的锁已经被其中一个线程得到,则其它线程需要在这个锁池进行等待,当前面的线程释放同步锁侯锁池中的线程去竞争同步锁,当某个线程得到后会进入就绪队列进行等待cpu资源分配。接着来看看等待池的概念当我们调用wait() 方法后,线程会放到等待池中,等待池的线程是不会去竞争同步锁。只有调用了notif

网站地图