社区
Delphi
帖子详情
如何正常终止线程???
dongteng
2003-08-24 10:21:58
我开了5个线程,每个线程都要处理许多包括数据库存储在内的大量操作,当我用.FREE终止时齐慢无比,甚至失去相应。于是我用了比较暴力的方法Terminate,但是经常提示出现错误。于是我想屏蔽掉错误就:
try
xc.Terminate;
sleep(500);
form1.Close;
except
application.Terminate;
end;
可是当处理量比较大的时候终止还是会出现错误!!!
我到底应该怎么避免错误提示的出现呢?????
...全文
88
6
打赏
收藏
如何正常终止线程???
我开了5个线程,每个线程都要处理许多包括数据库存储在内的大量操作,当我用.FREE终止时齐慢无比,甚至失去相应。于是我用了比较暴力的方法Terminate,但是经常提示出现错误。于是我想屏蔽掉错误就: try xc.Terminate; sleep(500); form1.Close; except application.Terminate; end; 可是当处理量比较大的时候终止还是会出现错误!!! 我到底应该怎么避免错误提示的出现呢?????
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
karach
2003-08-24
打赏
举报
回复
高手就是高手
我……
tonylk
2003-08-24
打赏
举报
回复
xc.Terminate;
xc.WaitFor();//等待线程内部真正结束了,然后再释放。
xc.Free;
procedure MyThread.Execute();
begin
while not Terminated do begin
dosth1();
if Terminated then exit;
dosth2();
if Terminated then exit;
end;
end;
LKJ99
2003-08-24
打赏
举报
回复
同意: zhoutian618(周天) 说法!
要在EXECUTE中经常检查是否Terminated标志,如果是TRUE,当然要退出运行当前的代码,
否则出问题是非常正常的!
huojiehai
2003-08-24
打赏
举报
回复
1、VOID ExitThread(
DWORD dwExitCode // exit code for this thread
);
2、
VOID ExitThread(
DWORD dwExitCode // exit code for this thread
);
dongteng
2003-08-24
打赏
举报
回复
楼上的写的具体一点好吗??我真的不会!!!!
zhoutian618
2003-08-24
打赏
举报
回复
这样也可以啊。
只是在EXECUTE方法中要判断线程是否终止了,
如果终止了就退出操作啊。
8.如何正常
终止
线程
?(Visual C++编程 源代码)
8.如何正常
终止
线程
?(Visual C++编程 源代码)8.如何正常
终止
线程
?(Visual C++编程 源代码)8.如何正常
终止
线程
?(Visual C++编程 源代码)8.如何正常
终止
线程
?(Visual C++编程 源代码)8.如何正常
终止
线程
?(Visual C++编程 源代码)8.如何正常
终止
线程
?(Visual C++编程 源代码)8.如何正常
终止
线程
?(Visual C++编程 源代码)8.如何正常
终止
线程
?(Visual C++编程 源代码)8.如何正常
终止
线程
?(Visual C++编程 源代码)8.如何正常
终止
线程
?(Visual C++编程 源代码)8.如何正常
终止
线程
?(Visual C++编程 源代码)8.如何正常
终止
线程
?(Visual C++编程 源代码)8.如何正常
终止
线程
?(Visual C++编程 源代码)8.如何正常
终止
线程
?(Visual C++编程 源代码)8.如何正常
终止
线程
?(Visual C++编程 源代码)8.如何正常
终止
线程
?(Visual C++编程 源代码)8.如何正常
终止
线程
?(Visual C++编程 源代码)8.如何正常终
如何
终止
线程
?
在 Java 中有三种方法可以使正在运行的
线程
终止
: 使用退出标志使
线程
正常退出。 使用 interrupt() 方法
终止
线程
。 使用 stop() 方法强行
终止
线程
,这种方法是过期作废的方法,使用它可能会发生不可预料的结果,不推荐使用。 下面我将对这三种方法分别进行举例说明。 一、使用退出标志 在 run() 方法执行完毕后,
线程
就
终止
了,但是在某些特殊的情况下,run() 方法会被一直执行,此时就可以通过修改退出标志来结束 run() 方法,代码如下: public class Run {
面试官:如何
终止
线程
?有几种方式?
在 Java 中有以下 3 种方法可以
终止
正在运行的
线程
: 使用退出标志,使
线程
正常退出,也就是当 run() 方法完成后
线程
终止
; 使用 stop() 方法强行
终止
线程
,但是不推荐使用这个方法,因为使用此方法不安全,目前该方法已被弃用; 使用 interrupt()方法中断
线程
。 第一种:使用标志位
终止
线程
使用标志位
终止
线程
就是定义一个boolean型的标志位 ,在
线程
的run方法中根据这...
Java如何优雅得
终止
线程
?使用两阶段
终止
模式
Java如何优雅得
终止
线程
?使用两阶段
终止
模式 在一个
线程
T1 中如何“优雅”
终止
线程
T2?这里的【优雅】指的是给 T2 一个"料理后事""的机会,即让T2完成善后工作后
终止
错误思路 使用stop() stop方法会直接杀死
线程
,如果这时
线程
锁住了共享资源,那么当它被杀死后就再也没有机会释放锁, 其它
线程
将永远无法获取锁 使用 System.exit(int) 方法停止
线程
目的仅是停止一个
线程
,但这种做法会让整个程序都停止 两阶段
终止
模式 流程图: 方法之 利用 isInterrupt
什么是
线程
的
终止
和中断?如何正确
终止
线程
?什么是可重入锁?如何使用可重入锁实现
线程
同步?
线程
的
终止
是指
线程
的执行完毕或者意外
终止
,而
线程
的中断是指通过发送中断信号来请求
线程
停止执行。
线程
的
终止
可以由
线程
本身完成,也可以由其他
线程
强制执行。
线程
本身可以通过返回一个值或者抛出一个异常来
终止
自己的执行。其他
线程
可以通过调用
线程
的join()方法等待
线程
执行完毕,或者调用
线程
的stop()方法来中断
线程
的执行。然而,stop()方法是不推荐使用的,因为它会立即中断
线程
的执行,可能导致
线程
的资源没有正确释放。
线程
的中断是一种更安全和更优雅的
线程
终止
方式。通过调用
线程
的。
Delphi
5,388
社区成员
262,730
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章