java里面如何删除掉一个线程,就是new Thread之后怎么把这个new的Thread完完全全的杀掉
答案:4 悬赏:20
解决时间 2021-01-14 23:48
- 提问者网友:龅牙恐龙妹
- 2021-01-14 04:42
java里面如何删除掉一个线程,就是new Thread之后怎么把这个new的Thread完完全全的杀掉
最佳答案
- 二级知识专家网友:酒醒三更
- 2021-01-14 06:10
你定义一个新线程"myThread"时肯定要重写它的run()方法,当你启动这个线程时即new的时候要调用它是start()方法: new myThread().start();
之后该线程会自动调用它的run()方法,run()方法执行完后线程会自动关闭;
你也可以调用close()来关闭;
如果有任务的线程想暂停一段时间,再继续任务,就别用close()方法,可以用sleep(3000)方法;3秒后线程继续运行.
希望对你有用~~
之后该线程会自动调用它的run()方法,run()方法执行完后线程会自动关闭;
你也可以调用close()来关闭;
如果有任务的线程想暂停一段时间,再继续任务,就别用close()方法,可以用sleep(3000)方法;3秒后线程继续运行.
希望对你有用~~
全部回答
- 1楼网友:北方的南先生
- 2021-01-14 09:35
public class T {
public static void main(String[] args) {
// 启动线程
MyThread thread = new MyThread();
new Thread(thread).start();
// 你的其它的工作,此时线程在运行中
// 你不想让线程干活了,停掉它
// 注意,这只是一个标志,具体线程何时停,并不能精确控制
thread.allDone = true;
}
}
class MyThread implements Runnable {
boolean volatile allDone = false;
public void run() {
// 每次循环都检测标志
// 如果设置停止标志时已经在循环里
// 则最长需要等待一个循环的时间才能终止
while (!allDone) {
// 循环里的工作
}
}
}
public static void main(String[] args) {
// 启动线程
MyThread thread = new MyThread();
new Thread(thread).start();
// 你的其它的工作,此时线程在运行中
// 你不想让线程干活了,停掉它
// 注意,这只是一个标志,具体线程何时停,并不能精确控制
thread.allDone = true;
}
}
class MyThread implements Runnable {
boolean volatile allDone = false;
public void run() {
// 每次循环都检测标志
// 如果设置停止标志时已经在循环里
// 则最长需要等待一个循环的时间才能终止
while (!allDone) {
// 循环里的工作
}
}
}
- 2楼网友:患得患失的劫
- 2021-01-14 08:27
不能直接删除线程,但是可以关闭,线程名点close();追问那如果是有任务的线程close(); 后能重新在开启吗?追答能。要启动一个线程可以调用strat()方法。使线程所代表的处理机处于可运行状态,它可由JVM调度并执行,但有这个线程有可能不会立即运行。
- 3楼网友:忘川信使
- 2021-01-14 07:32
关闭线程就行了吧,没必要杀掉
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息