Closed jackfanwan closed 1 year ago
因为原始jdk的问题,这里会有一个bug; 这里是先唤醒所有的线程,然后才重新创建一个Generation对象; 但是被唤醒的线程,存在因为当前线程还没有重新创建Generation对象,导致被唤醒的线程执行g != generation判断是错的,导致被唤醒的线程重新执行了await(),导致无法再次被唤醒
因为原始jdk的问题,这里会有一个bug; 这里是先唤醒所有的线程,然后才重新创建一个Generation对象; 但是被唤醒的线程,存在因为当前线程还没有重新创建Generation对象,导致被唤醒的线程执行g != generation判断是错的,导致被唤醒的线程重新执行了await(),导致无法再次被唤醒