c#控制台之制造内存泄露简单办法

来源:互联网 发布:隐形眼镜掉在地上 知乎 编辑:程序博客网 时间:2024/05/21 08:56

c#控制台也能故意制造内存泄露,很多人会问这样做的目的何在,那么一个是可以用来测试,一个呢,嘿嘿,可以用来捆绑自己程序里面,然后设置控制台程序运行但不显示出来,这样是可以达到恶搞的目的的,哈哈!不过仅供娱乐学习用啊!代码如下:

<span style="font-family:Microsoft YaHei;font-size:14px;"> static void Main(string[] args)        {            while (true)            {                Thread thr = new Thread(new ThreadStart(testThread));                thr.Start();                //输出程序当前占用的内存量                long memorysize = System.Diagnostics.Process.                    GetCurrentProcess().PagedMemorySize64;                Console.WriteLine(string.Format("MemorySize:{0}MB", memorysize / (1024 * 1024)));                Thread.Sleep(500);            }        }        static void testThread()        {            LinkedList<IntPtr> l = new LinkedList<IntPtr>();            l.AddLast(Marshal.AllocCoTaskMem(88888888));        }</span>

如图所示,如果查看任务管理器你会发现该程序占内存会越来越多……


0 0