首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

多线程与步骤的调用的一个疑惑

2013-01-23 
多线程与方法的调用的一个疑惑有几十个线程调用一个方法方法: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();  }

这个也是同理吗?

热点排行