日期:2014-05-17  浏览次数:20751 次

求问::子线程强制中止后,下次新实例中,文件流显示无法创建????
子线程中我要读写文件,但随时要中止子线程,,
if(thread.Isalive)
{
  thread.Join;
  thread.Abort;
}
再次点击读写文件,又要创建子线程,但这是,程序异常:好像是说文件流正在使用吧!
怎么处理呢???
还有就是中止子线程后,程序没有中止,但是子线程写在磁盘上的文件也打不开,提示有别的线程正在访问,可是写文件的线程我已经强制关了呀!!!



子线程中止???文件流

------解决方案--------------------
操作文件的流要关闭。
------解决方案--------------------
一个线程创建的对象,被进程中的所有线程共有,某一线程的终止,并不意味着这个线程创建的对象被释放(当然如果只有线程代码建立的局部变量引用这个对象,进程终止后,因为对象的引用数为0,过一段时间这个对象后会被垃圾回收释放,不过这是另外一回事了)。所以要么你建立一个文件流对象,每次建立线程时将对象传递进线程,供其使用;要么每次终止线程后,先关闭文件流,再建立线程,创建一个新的文件流。
------解决方案--------------------
操作文件的流要关闭。
------解决方案--------------------
在中断的线程中必须关闭这个文件流。。或是在有异常的地方捕捉异常,在异常处理中关闭文件流