/判斷執行緒是否釋放
//返回值:0-已釋放;1-正在執行;2-已終止但未釋放;
//3-未建立或不存在
function tfrmmain.checkthreadfreed(athread: tthread): byte;
var
i: dword;
isquit: boolean;
begin
if assigned(athread) then
begin
isquit := getexitcodethread(athread.handle, i);
if isquit then //if the function succeeds, the return value is nonzero.
//if the function fails, the return value is zero.
begin
if i = still_active then //if the specified thread has not terminated,
//the termination status returned is still_active.
result := 1
else
result := 2; //athread未free,因為tthread.destroy中有執行語句
end
else
result := 0; //可以用getlasterror取得錯誤
**end
else
result := 3;
end;
判斷執行緒是否全部結束
第一種 使用executorservice.isterminated executorservice cachedthreadpool executors.newcachedthreadpool cachedthreadpool submit new callable cachedthreadpoo...
C 判斷執行緒是否結束Alive
using system using system.collections.generic using system.linq using system.text using system.threading.tasks using system.threading namespace 5006 判...
判斷執行緒是否結束的方法
1 getexitcodethread 比較原始的方法了,呼叫 getexitcodethread,如果返回still active,那就是還在執行,否則,會返回退出 該方法的優點是除了可以判斷是否已經退出,還可以獲取到退出 也就是可以判斷退出原因.該方法在呼叫後,會立即返回,如果需要等待執行緒呼叫...