X
xiaqing
Unregistered / Unconfirmed
GUEST, unregistred user!
主程序创建两个线程:<br>线程1用CreateThread创建,用于向数据表插入1000条记录,字段Flag为0表示新插入的;<br>线程2用TThread派生类创建,搜索当前新插入数据表的记录(即Flag=0),对其操作,然后将<br>每条记录的Flag置为1。<br>问题:<br>主窗体关闭事件:Form1.OnClose:释放线程1和线程2。<br>线程1的释放代码如下:<br> GetExitCodeThread(hMyThread, lpExitCode);<br> if lpExitCode = STILL_ACTIVE then<br> if TerminateThread(hMyThread, lpExitCode) then<br> CloseHandle(hMyThread);<br>线程2的释放代码如下:<br> if MyThread <> nil then<br> begin<br> if MyThread.Suspended then<br> MyThread.Resume;<br> MyThread.Terminate;<br> FreeAndNil(MyThread);<br> end;<br>当向数据表中插入少量记录(测试用10条),正常;当插入大量记录(测试用1000条),每次关闭,<br>不管此时线程1执行完毕与否,总报错:“在异步运行时,操作不能被执行”。请教各位大侠原因?<br>