当前位置:编程学习 > C#/ASP.NET >>

线程的管理


//一个全局的
Thread myThread=null;

private void OpenThread()
{
    ThreadStart   ts = new ThreadStart(Nw);///加载网络流
          if (ts != null)
        {
            myThread= new Thread(ts);
            myThread.Start();
        }
}



我想问下,如果我执行3次OpenThread(),内存会有什么结果.
因为都是调用同一个myThread的
因为,我想做"停止线程"的方法.只想到了这个.用全局的.
但我程序,可能会在这个线程还没有结束的时候.就在执行一次OpenThread()函数.
我刚学线程,不知道这样会有什么结果.
还有.我写了个垃圾程序.发现.内存竟然会用到将近200M.只是普通的连续循环和查数数据.
不知道有什么好的建议呢? --------------------编程问答-------------------- 还有.有时候.执行一个方法.在没有错误的情况下,就不执行了.怎么回事呢? --------------------编程问答-------------------- sf啊,不过lz问了哪么问题,就只给哪么点分啊??好吝啬啊 --------------------编程问答-------------------- 刚出道的小混混,嘻嘻.没有积分.请原谅. --------------------编程问答-------------------- 看不到线程的工作内容,不知道具体处理什么。
如果是要循环处理数据,可以使用

bool loopFlag = true;
while(loopFlag)
{
...
}

退出循环的时候,将标志位置false,那么线程会自动结束。
如果要控制的更精准一些,可以使用ManualResetEvent来控制。
强制结束线程不是个好办法;

另外,把线程设置为后台线程比较好。 --------------------编程问答-------------------- 那如果.就执行n次openThread方法.会有什么样的后果呢? --------------------编程问答-------------------- 有什么结果你一试便知。。。。如果自己懒得去试,别人说的结论一定是对的么?早晚还要自己去试一试 --------------------编程问答-------------------- 我发帖前就试过.
内存不断增长.
程序,有些程序集,原本有的都变没有了.
我不知道大家还会遇到什么情况.所以就问下.我也不确定是不是因为不断调用照成的.呵呵. --------------------编程问答-------------------- 每启动一个线程就会使用一些资源,不停地启动线程,肯定内存不断增长
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,