多线程与步骤的调用的一个疑惑
多线程与方法的调用的一个疑惑有几十个线程调用一个方法方法:public void aaa( string htmlStr){string ne
多线程与方法的调用的一个疑惑
有几十个线程调用一个方法
方法:
public void aaa( string htmlStr)
{
string newStr="";
}
由于每个线程都会调用方法,每调用一次就创建一个 newStr 内存空间
那么 如果几十个线程运行一天,这是不是会造成内存完全被占用的后果呢?
[解决办法]不会。
string newStr是一个局部变量,在函数退出之后就没有用了,可以被gc回收掉。
[解决办法]内存不足,GC会回收,不用担心
[解决办法]一样会回收,gc.Colect会在一个单独的线程中运行,如果内存不足,这个线程就会启动并且高优先级,
[解决办法]一样的,newStr离开aaa方法后就没有引用:
C# code?1234public void aaa( string htmlStr) { string newStr=new string(); }
这个也是同理吗?