J jsxjd Unregistered / Unconfirmed GUEST, unregistred user! 2002-12-04 #3 用另外一个线程或主线程,去控制它们。 线程一执行,在主线程中记录开始时间, 主线程定时判断各线程的运行时间,然后终止它们。
W wql Unregistered / Unconfirmed GUEST, unregistred user! 2002-12-04 #6 In Thread: Var TmDWord; Begin TmD:=GetTickCount()+N*1000; { N s } While (TmD>GetTickCount()) Do Begin Write your thread code in hear... End; End;
In Thread: Var TmDWord; Begin TmD:=GetTickCount()+N*1000; { N s } While (TmD>GetTickCount()) Do Begin Write your thread code in hear... End; End;
云 云携雨(新生) Unregistered / Unconfirmed GUEST, unregistred user! 2002-12-08 #9 哈哈哈哈,我说多线程是脑筋急转弯的游戏,连 枫 都没转过来。正好找您呢,您的帖子 关于 msn 登记的那个,有空是不是帮忙再整理整理,不过一个一个加起来确实是#$%@^&*
J jinmen Unregistered / Unconfirmed GUEST, unregistred user! 2002-12-08 #10 同意wql,线程内放定时器,线程启动时定时器开始记时,时间到了就触发终止线程。
A awl Unregistered / Unconfirmed GUEST, unregistred user! 2002-12-08 #12 只运行几秒是什么意思?指的是从创建开始到要结束它之间的所有时间还是该线程确确实实 运行了几秒(被调入运行),如果是前者我觉得无论是在各线程中设计数器还是在主线程中 设计数器都可以实现,但如果是值得是或者就比较麻烦了。
只运行几秒是什么意思?指的是从创建开始到要结束它之间的所有时间还是该线程确确实实 运行了几秒(被调入运行),如果是前者我觉得无论是在各线程中设计数器还是在主线程中 设计数器都可以实现,但如果是值得是或者就比较麻烦了。
枫 枫 Unregistered / Unconfirmed GUEST, unregistred user! 2002-12-09 #13 我试了一下,发现我用Terminate自毁的时候出现错误,用FREE也不行,请问如何做到把线程安全自毁它呢?
超 超英速 Unregistered / Unconfirmed GUEST, unregistred user! 2002-12-10 #14 线程自毁?为什么我的线程如果没有一个循环,一下就不见了,好象不用怎么释放的吧, 最多Close一下那个Handle吧^_^
W wql Unregistered / Unconfirmed GUEST, unregistred user! 2002-12-10 #15 Procedure YouThread.Execute; Var TmDWord; Begin FreeOnTerminate:=True; // 现成结束自动释放内存。 TmD:=GetTickCount()+N*1000; { N s } While (TmD>GetTickCount()) Do Begin Write your thread code in hear... End; End;
Procedure YouThread.Execute; Var TmDWord; Begin FreeOnTerminate:=True; // 现成结束自动释放内存。 TmD:=GetTickCount()+N*1000; { N s } While (TmD>GetTickCount()) Do Begin Write your thread code in hear... End; End;
枫 枫 Unregistered / Unconfirmed GUEST, unregistred user! 2002-12-20 #17 to wql 你那是个循环吧,但我的线程只是执行一次的。 FreeOnTerminate:=True; // 现成结束自动释放内存。 这个应该是线程结束后释放内存用的吧,可是我的线程都都没有结束这个就没有什么用了吧。 to everyone 我的程序里,每一个子线程运行的霎时间可能很长,但我不想它们运行这么长,就想给它们定一个运行 时间,到时间了,不管工作有没有做完,都要停止并释放线程。
to wql 你那是个循环吧,但我的线程只是执行一次的。 FreeOnTerminate:=True; // 现成结束自动释放内存。 这个应该是线程结束后释放内存用的吧,可是我的线程都都没有结束这个就没有什么用了吧。 to everyone 我的程序里,每一个子线程运行的霎时间可能很长,但我不想它们运行这么长,就想给它们定一个运行 时间,到时间了,不管工作有没有做完,都要停止并释放线程。
A Another_eYes Unregistered / Unconfirmed GUEST, unregistred user! 2002-12-20 #18 1.主进程控制。如果线程Terminate不掉, 那么调用TerminateThread强杀。 2.线程控制。 如果你的线程完整运行需要超过几秒的话,那么不可能没有循环。 如果能控制这个循环那么在循环中判断Terminated并退出即可。 如果不能控制这个循环(比如调用ado什么的),那么还是用方法一吧。
1.主进程控制。如果线程Terminate不掉, 那么调用TerminateThread强杀。 2.线程控制。 如果你的线程完整运行需要超过几秒的话,那么不可能没有循环。 如果能控制这个循环那么在循环中判断Terminated并退出即可。 如果不能控制这个循环(比如调用ado什么的),那么还是用方法一吧。
N NowCan Unregistered / Unconfirmed GUEST, unregistred user! 2003-01-10 #20 如果你的线程完整运行需要超过几秒的话,那么不可能没有循环。 不要那么肯定,比如说Socket连接,超过几秒没响应是很正常的。 所以,还是要用主线程控制,维护一个线程表,建议用TList