关于wait和sleep之间区别的一点点疑惑

疑惑产生自关于线程之间的通信,

通信时关于关于判断语句必须要使用while()循环判断, 而不能使用if()条件判断

 

想知道的问题是:

  关于wait和sleep的一点共同点是: 在哪睡的在哪醒

  那么, wait的时候好像是释放锁资源的,

  wait的线程拥有一个队列, 一直在等待锁资源的线程在另外一个队列,知道等待锁资源的线程会争抢锁资源, 那么wait的线程被唤醒后也会争抢锁资源吗? 要是争抢的话, 是所以的线程一起争抢锁资源还是两个队列争抢的锁资源互不干扰?--->这个问题主要是来自于notifyAll()方法可以唤醒所有沉睡的线程, 那么, 对于正在沉睡的线程, 所有的线程都直接被唤醒进行自己的任务, 那么锁资源好像对它们来说没有任何的 意义

posted @ 2020-09-28 09:44  0龙行者0  阅读(123)  评论(0编辑  收藏  举报