-
Java安全停止线程方法
- 1. 早期Java提供java.lang.Thread类型包含了一些列的方法 start(), stop(), stop(Throwable) and suspend(), destroy() and resume()。,Sun 公司的一篇文章 《Why are Thread.stop, Thread.suspend and Thread.resume Deprecated? 》
- 2.使用volatile变量来设置Thread的run的循环条件,保证变量同步性
-
- public class JavaTest extends Thread{
- private volatile boolean isRun = true;
- public static void main(String[] args) {
- JavaTest thread = new JavaTest();
- thread.start();
- thread.close();
- }
- @Override
- public void run() {
- while (isRun) {
-
- }
- }
- public void close() {
- this.isRun = false;
- }
- }
- 3.使用interrupt()来中止非运行状态的线程,如wait()和sleep()状态的线程,此时可利用interrupted来终止线程
- public class JavaTest extends Thread{
- private volatile boolean isRun = true;
- public static void main(String[] args) {
- JavaTest thread = new JavaTest();
- thread.start();
- thread.close();
- if (thread != null) {
- thread.interrupt();
- }
- }
- @Override
- public void run() {
- while (isRun) {
-
-
- try {
- wait();
- } catch (InterruptedException e) {
-
- }
- }
- }
- public void close() {
- this.isRun = false;
- }
- }
-
相关阅读:
java解析xml
支持向量机SVM
资源-菜单
GIT
基于OpenCV的图书扫描识别程序开发
最大公约数(gcd)还有最小公倍数(lcm)的共通之处
python网页分析
python爬虫的基本知识储备
大数加法 (A + B Problem II)
Andy's First Dictionary (set)
-
原文地址:https://www.cnblogs.com/Free-Thinker/p/3465082.html
Copyright © 2020-2023
润新知