1、一个资源,很多人用,如果大家都不delete,必定造成资源泄露
2、如果多个人进行delete,必定导致未定义行为。
3、因此,只能有一个delete,而且必须是最后一个使用者进行delete。
4、那么问题来了,我怎么知道谁是最后一个使用者?在多线程的环境中更加不可能判断出来。那怎么办呢?
5、不要想着谁是最后一个使用者,换个角度,每个使用者使用前都进行addRef,使用后都进行release,这样就保证了最后一个使用才进行delete。
时间: 2024-10-05 15:19:09