调用TerminateThread回强制退出线程时,程序崩溃了
调用TerminateThread来强制退出线程时,程序崩溃了
以前针对一个线程时,是不会崩溃的,但现在改为多个线程时就出现这种情况,代码如下:
for i := Low(m_Z_MainThreads) to High(m_Z_MainThreads) do
begin
try
if Assigned(m_Z_MainThreads[i]) = True then
TerminateThread(m_Z_MainThreads[i].Handle,0);
except
;
end;
end;
我在线程里调用了setlength来动态分配数组的,这个是什么问题,请大家赐教,多谢
------解决思路----------------------
TerminateThread不提倡使用的,还是等线程自然结束比较好!
以前针对一个线程时,是不会崩溃的,但现在改为多个线程时就出现这种情况,代码如下:
for i := Low(m_Z_MainThreads) to High(m_Z_MainThreads) do
begin
try
if Assigned(m_Z_MainThreads[i]) = True then
TerminateThread(m_Z_MainThreads[i].Handle,0);
except
;
end;
end;
我在线程里调用了setlength来动态分配数组的,这个是什么问题,请大家赐教,多谢
------解决思路----------------------
TerminateThread不提倡使用的,还是等线程自然结束比较好!