如何确保子线程释放资源?高手请进! 最好保存一下子线程句柄,用其的Join(),就可完全释放。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 另外,在c# 据我所知,如果你建立了20 个线程(或者使用线程池)在某线程中止或正常完成时,是不是见到立即线程减少(还是20),而当你再次建新线程时会见到线程并没有增加(还是20)比如有20 线程其中一线程完成了线程表还是20线程(比如任务管理器中见到的线程数)再建一新线程线程表还是20线程而不是21估计是C# 的老问题,它的运行环境就好象 int[] i = new [5] 中的5一样,要先申请一个运行环境资源吧,整理和重用废旧才是它的大学问至于线程资源可以使用 abort 和join 是会释放的,其实不使用它也会释放,只是不会马上减少,这个问题和是否多线程无关 其实,thread.Abort会引发一个异常。在线程内将会捕捉到这个异常,因次可以写成这样void run(){ try { //进行操作 } finally { //释放资源 }}但还有个问题,如果主线程是突然异常终止的,可能并未执行thread.Abort,这样也会抛出异常给子线程吗?另外,我是在循环中创建线程的,无法保存句柄,该怎么办? 那你把子线程的IsBackground打开,即设为true。 c#中调用oracle的存储过程 咨询一下高手[用友软件]的文本输入控件 C#数组序列化问题 .net 中 com+ 组件类的属性问题 C#如何调用一个DELPHI写的dll 请问:怎么激发DataGrid中行发生改变这一事件? 在点击下拉列表框绑定数据怎么做? 如何打开现有项目ASP 请教如何学习XML(100) C#中的换行符是什么? 如何在关闭程序的同时重新启动程序 有没有水晶报表9的注册号和密码!十万火急!
其中一线程完成了
线程表还是20线程(比如任务管理器中见到的线程数)
再建一新线程
线程表还是20线程而不是21估计是C# 的老问题,它的运行环境就好象 int[] i = new [5] 中的5一样,要先申请一个运行环境资源吧,整理和重用废旧才是它的大学问至于线程资源可以使用 abort 和join 是会释放的,其实不使用它也会释放,只是不会马上减少,这个问题和是否多线程无关
void run()
{
try
{
//进行操作
}
finally
{
//释放资源
}
}
但还有个问题,如果主线程是突然异常终止的,可能并未执行thread.Abort,这样也会抛出异常给子线程吗?另外,我是在循环中创建线程的,无法保存句柄,该怎么办?