社区
Delphi
帖子详情
如何立即终止线程
yyfly
2004-02-07 10:12:54
在线程的 Execute 方法中这样写:
while not Terminated do
begin
...
self.Terminate;
...
end;
但是用self.Terminate;不会立刻终止,我想在那个位置立刻终止线程
应该怎么做,并且要安全的终止.
...全文
1121
10
打赏
收藏
如何立即终止线程
在线程的 Execute 方法中这样写: while not Terminated do begin ... self.Terminate; ... end; 但是用self.Terminate;不会立刻终止,我想在那个位置立刻终止线程 应该怎么做,并且要安全的终止.
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ebensy
2004-08-18
打赏
举报
回复
你领悟能力真不太好.
在线程的 Execute 方法中这样写:
while not Terminated do
begin
...
self.Terminate;
if self.terminated then exit;
...
end;
haoguozhong
2004-07-26
打赏
举报
回复
同意: qin0036(frank)
xiaolei_418
2004-07-26
打赏
举报
回复
TerminateThread
或
ExitThread
tsst
2004-07-26
打赏
举报
回复
如果是手动的非要结束的话,那就只能作用API 如exitthread
tsst
2004-07-12
打赏
举报
回复
使用windows API
Function TerminateThread(hThread:Thandle;dwExitCode:DWORD);
不过,这个函数会使代码立刻终止,而不管程序中有没有
workers
2004-07-12
打赏
举报
回复
break;
wolf2005
2004-07-12
打赏
举报
回复
FreeOnTerminate := true;
ly_liuyang
2004-07-12
打赏
举报
回复
没错了
直接API才能解决问题
qin0036
2004-07-12
打赏
举报
回复
如果使用 TThread 类,不可能立即中止线程。使用 Terminate 方法只是设置线程类里面的一个 Terminated 标志。要想快点结束线程,要在 Execute 函数里面多加对 Terminated 标志的判断。如果非要立即结束线程,就不能使用 TThread 类,改成使用 windows 的 api 直接操作线程,使用 CreateThread, ExitThread.
haoguozhong
2004-06-25
打赏
举报
回复
怎么用?能否说的具体些?
深入分析JAVA 多
线程
--interrupt()和
线程
终止
方式
主要介绍了JAVA 多
线程
--interrupt()和
线程
终止
方式的的相关资料,文中代码非常细致,帮助大家更好的理解和学习,感兴趣的朋友可以了解下
linux
线程
的取消(
终止
)方法
关键: pthread_cancel函数发送
终止
信号 pthread_setcancelstate函数设置
终止
方式 pthread_testcancel函数取消
线程
(另一功能是:设置取消点) 1
线程
取消的定义 一般情况下,
线程
在其主体函数退出的时候会自动
终止
,但同时也可以因为接收到另一个
线程
发来的
终止
(取消)请求而强制
终止
。 2
线程
取消的语义
线程
取消的方法是向目标
线程
发Cancel信号(pthread_cancel函数发送Cancel信号),但如何处理Cancel信号则由目标
线程
自己决定,或者忽略、或者
立即
终止
、或者继续运行至Cancelation-point(取消点),由不同的Canc
python多
线程
之
终止
子
线程
中止
线程
的方法: 1、使用退出标志: 在
线程
的run方法中根据这个标志位是为true还是为false来判断是否
终止
,这种情况多用于while循环中。 2、使用 stop() 方法强行
终止
线程
, 但是不推荐使用这个方法,因为使用此方法不安全,目前该方法已被弃用; 3、使用 interrupt()方法中断
线程
断
线程
时并不会
立即
终止
线程
,而是通知目标
线程
,告诉它有人希望你
终止
。至于目标
线程
收到通知后会如何处理,则完全由目标
线程
自行决定。 ...
c语言中
终止
线程
的方法,
终止
线程
优雅不使用TerminateThread()
TerminateThread是一个坏主意,特别是如果你的
线程
使用同步对象,如互斥体.它可能导致未发布的内存和句柄,并导致死锁,所以你是正确的,你需要做别的事情.通常,
线程
终止
的方式是从定义
线程
的函数返回.主
线程
通过事件对象或者一个简单的布尔值来表示工作
线程
退出,如果它经常被检查.如果工作
线程
与WaitForSingleObject等待,您可能需要将其更改为WaitForMultipleObjec...
如何
终止
线程
的运行(C/C++)
如何
终止
线程
的运行(C/C++)想要
终止
线程
的运行,可以使用以下方法: 1、
线程
函数返回(最好使用该方法)。 2、通过调用ExitThread函数,
线程
将自行撤消(最好不使用该方法)。 3、同一个进程或另一个进程中的
线程
调用TerminateThread函数(应避免使用该方法)。 4、ExitProcess和TerminateProcess函数也可以用来
终止
线程
的运行(应避免使用该方法)。下面将详
Delphi
5,928
社区成员
262,931
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章