.NET的内存管理:排排坐,吃果果

幼儿园有个教室,这个教室里有3排座位,第一排是10个座位,第二排是20个座位,第三排是40个座位,有一个老师名叫CLR,C老师就给这个教室起了名字叫“托管堆”。每天,如果有小朋友拿着果果进来,C老师就给分配一个座位,C老师有一套自己的分配座位方式:

1. 如果第一排是空的,那就让来的小朋友依次在第一排座位上就坐,第一个进来的小朋友做第一个座位,第二个小朋友坐第二个座位,依次类推,进来的小朋友坐下后就开始吃果果(对托管堆对象的引用)

2. 过了一会儿,第一排座位坐满了,可是又有小朋友来了,怎么办呢?C老师就对第一排座位的小朋友挨个检查,看哪个小朋友已经吃完手里的果果了,让吃完的小朋友出去,让出座位来,没吃完的小朋友怎么办呢?吃的慢就到依次换到第二排去慢慢吃(产生第二代对象)。这样第一排的座位就都空出来了(垃圾回收完成),然后安排新来的小朋友坐在第一排的第一个座位上

3. 又过了一会儿,第一排座位又坐满了,C老师又要把其中一些没吃完的放在第二排,可是,发现第二排也坐满了,怎么办呢? 他就开始检查第二排的小朋友,哪个小朋友吃完了,就出去让出座位来,剩下的还没吃完了,再换到第三排继续吃(产生第三代对象),空出来的座位,让刚刚从第一排换来的小朋友坐。

转载于:https://www.cnblogs.com/lbsong/archive/2010/01/27/1657522.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值