为了实现STW,JVM设计了安全点
10.2 G1 并发线程进入安全点
G1新引入的线程都是自己主动让出CPU进入暂停
用join判断VMThread是否发出了进入安全点的请求,如果VMThread发出了请求,则并发线程在此等待。
leave 发现VMThread 发出进入安全点的请求后,通知VMThread检查是否需要继续等待,因为此时有并发线程离开了。
解释线程和编译线程,也需要让出CPU
为了实现STW,JVM设计了安全点
10.2 G1 并发线程进入安全点
G1新引入的线程都是自己主动让出CPU进入暂停
用join判断VMThread是否发出了进入安全点的请求,如果VMThread发出了请求,则并发线程在此等待。
leave 发现VMThread 发出进入安全点的请求后,通知VMThread检查是否需要继续等待,因为此时有并发线程离开了。
解释线程和编译线程,也需要让出CPU