【Java】线程终止
【摘要】 1. 基本说明当线程完成任务后,会自动退出。还可以通过使用变量来控制run方法退出的方式停止线程,即通知方式。 2. 案例说明需求:启动一个线程t,要求在main线程中去停止线程t,请编程实现。public class ThreadExit_ { public static void main(String[] args) throws InterruptedException { ...
1. 基本说明
- 当线程完成任务后,会自动退出。
- 还可以通过使用变量来控制
run
方法退出的方式停止线程,即通知方式。
2. 案例说明
- 需求:启动一个线程
t
,要求在main
线程中去停止线程t
,请编程实现。
public class ThreadExit_ {
public static void main(String[] args) throws InterruptedException {
T t = new T();
new Thread(t).start();
//如果希望main线程去控制t线程的终止,必须可以修改 loop
// 让 t 退出 run 方法,从而终止 t线程 --> 通知方式
//让主线程休眠 10s 再通知 t线程退出
System.out.println("main线程休眠10s...");
Thread.sleep(10 * 1000);
t.setLoop(false);
}
}
class T implements Runnable {
int count = 0;
//设置一个控制变量
private boolean loop = true;
@Override
public void run() {
while (loop) {
try {
Thread.sleep(50);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("T 运行中..." + (++count));
}
}
public void setLoop(boolean loop) {
this.loop = loop;
}
}
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)