Skip to content

Latest commit

 

History

History
 
 

5

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 

三色gc算法

初始状态下每个内存对象都是白色标记,先stop the world,将扫描任务作为多个并发的goroutine立即入队给调度器,进而被CPU处理,第一轮先扫描所有可达的内存对象,标记为灰色放入队列;第二轮可以恢复start the world,将第一步队列中的对象引用的对象置为灰色加入队列,一个对象引用的所有对象都置灰并加入队列后,这个对象才能置为黑色并从队列之中取出。

所以说这个到后来可以被队列中取出来的对象就是拥有引用的对象,它因为拥有引用所以它不能被删除gc掉。