我单独开了一个线程来从文本文件中转入数据,并存到数据库中。但我想随时中断,出错。(100分)

  • 主题发起人 主题发起人 dadabox
  • 开始时间 开始时间
D

dadabox

Unregistered / Unconfirmed
GUEST, unregistred user!
我单独开了一个线程来从文本文件中转入数据,并存到数据库中。数据量比较大,要是别人
想随时中断退出这个程序,就会出错。我要怎样做才不会出错呢?因为我的结转工作分为
几个阶段,我分别写在几个procedure中,在Exectue中分别调用。请问哪位大哥有类似的经
验或代码。谢谢!
 
你可以不让它中断。
做一个bool属性来确定线程是否完成, 在线程里判断属性是否为假,如果是假则exit,
然后释放线程,在窗口关闭的时候判断线程是否完成,如果未完成,
通过修改属性来跳出循环,释放线程,退出。
 
楼上的说得对,可以使用一个全局的变量来标志是否为用户要求退出线程的,而你则需要在
线程中随时查看这个标志变量。
还有一个做法是用你要在线程的析构函数中加入一些代码,这些代码是来关闭文件和断开
数据库连接的,也就是检查如果文件还没关闭,就关闭它;数据库还没断开,就要断开。
这样就比较安全了。在你的窗体中,你可以使用线程的Terminate函数或TerminateThread
函数来杀掉这个线程,于是乎,线程在终止的时候就会执行析构函数中的代码了。
 
多人接受答案了。
 

Similar threads

后退
顶部