一个有关资源释放的问题,各位,帮帮忙

大致代码如下 1 while(true) 2 { 3 Class1 class1=new Class1(); 4 ……//class里的操作,执行完成后需要等待大概2分钟后会有回调方法,在这里不会等待回调方法的相应 5 Thread.Sleep(1000); 6 } 这种情况下,class1会不会自动释放,类似:一个人(class1),让他儿子(class1里的方法)去叫张三,让张三把李四叫来,一会,儿子回来了,告诉这个人说,已经传到话了,然后就到了sleep这里,又过了一会李四来了   这种情况会不会自动释放class1
胡说叔叔
浏览 390回答 5
5回答

慕桂英3389331

class1对象,只要有引用就不会成为垃圾,你的 class1 调用方法,方法里可能调用 别的方法, 这些都会保持对它的引用。 class1是托管资源,每次 循环都会创建新的,原来的 还是在托管堆中,只是没有 直接的变量 指向它。 托管资源 要靠GC来回收,不要 强制回收,靠GC的话,我们不用管, 不晓得它什么时候回收。

慕娘9325324

c#定义的变量是有块级作用域的也就是我们常说的{}

元芳怎么了

只有你这个进程关闭他才会释放,否则不会释放。建议自己手动释放吧

一只斗牛犬

这种情况下会回收的。
打开App,查看更多内容
随时随地看视频慕课网APP