1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
//! 垃圾收集阶段模块 //! //! 定义垃圾收集过程中各个阶段的枚举类型。 /// 垃圾收集阶段 /// /// 表示垃圾收集器当前所处的执行阶段。 #[derive(Debug, Clone, Copy, PartialEq, Eq)] pub enum GCPhase { /// 空闲状态 /// /// 垃圾收集器当前没有执行任何收集操作。 Idle, /// 标记阶段 /// /// 正在遍历对象图,标记所有可达对象。 Marking, /// 并发标记阶段 /// /// 正在后台线程中执行标记操作。 ConcurrentMarking, /// 清除阶段 /// /// 正在回收未被标记的对象。 Sweeping, /// 并发清除阶段 /// /// 正在后台线程中执行清除操作。 ConcurrentSweeping, /// 压缩阶段 /// /// 正在整理内存,减少碎片化。 Compacting, }