多线程与方法的调用的一个疑惑
有几十个线程调用一个方法
方法:
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(); }
这个也是同理吗?