请教:关于终止线程
我程序界面上有一个进度条控件JSlider,在线程中控制进度条物循环显示
我的想法是按“启动”时,开始循环,按“停止”时,停止循环
现在的问题是,启动开始循环没有问题,但是按下停止时,进度条依然在前进,没有停止
请指点
按钮的代码
线程是继承Thread
我的想法是按“启动”时,开始循环,按“停止”时,停止循环
现在的问题是,启动开始循环没有问题,但是按下停止时,进度条依然在前进,没有停止
请指点
按钮的代码
MyThread r2 = new MyThread(sd1);
if ( btnSd.getText().equals("启动")) {
r2.bStop = true;
r2.start();
btnSd.setText("停止");
}
else {
r2.bStop = false;
r2.interrupt();
btnSd.setText("启动");
}
线程是继承Thread
public class MyThread extends Thread {
private JSlider iSd; //进度条控件,JSlider
public boolean bStop; //是否要终止线程
//类的构造函数
public MyThread(JSlider sd) {
iSd = sd;
nType = 2;
}
//重写run方法
@Override
public void run() {
for(int i=0;i<10;i++) {
if( !bStop) {
break; //用户终止线程
}
iSd.setValue(0);
int nPos;
while(iSd.getValue()<iSd.getMaximum()){
System.out.println(bStop);
if ( !bStop) {
break; //用户终止线程
}
nPos = iSd.getValue();
nPos++;
iSd.setValue(nPos);
try {
this.sleep(10);
}
catch(InterruptedException e) {
System.out.println("err");
}
}
}
}
}
...全文
相关推荐
面试官:如何终止线程?有几种方式?
面试官提问如何终止线程,通常是为了考察开发者对线程管理的理解和实践经验。下面我们将详细探讨三种常见的线程终止方法:1. **使用退出标志终止线程**: 这是最常用且推荐的方法。
windows C++多线程(三):线程终止结束ExitThread与TerminateThread
终止线程运行,最好的方法是自然返回return结束。在微软创建多线程API时,C/C++运行时库还不太成熟,导致一些API的调用与CRT会出冲突,使用CreateThread创建线程,并不是很推荐的,需要使用_beginthread。谈到线程终止,就得扯扯如下两个问题了 ExitThread() TerminateThread() 使用以上两个函数结束线程时,正常的return...
Java并发编程示例(六):等待线程执行终止
在Java并发编程中,等待线程执行终止是一个关键的概念,特别是在多线程环境中需要确保某个任务完成后才能继续执行后续操作的场景。
C# 如何挂起线程、休眠线程和终止线程(源码例)
休眠线程是一种避免线程过度占用CPU资源的好方法,尤其在需要定时执行或者需要其他线程执行特定任务时。3. **终止线程**:终止线程是指强制结束线程的执行,使其不再继续运行。
怎么干净的终止一个线程
首先,让我们来看看如何通过插入异常来终止线程。这种方法通常涉及以下步骤:1. 暂停目标线程:使用操作系统提供的API(例如Windows中的`SuspendThread`)暂停线程的执行。


Java SE
