`
xy_z487
  • 浏览: 279025 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JAVA里面如何让一个线程死亡或结束

阅读更多
这问题也是很常见的问题,自打 stop不推荐使用后,我们还有别的可以选择的方法吗?
设置一个标志,让其自动return最安全。

   1. /**
   2.  * JAVA里面如何使用一个线程死亡或结束.
   3.  * @author 赵学庆,Java世纪网(java2000.net)
   4.  *
   5.  */
   6. public class T {
   7.   public static void main(String[] args) {
   8.     // 启动线程
   9.     MyThread thread = new MyThread();
  10.     new Thread(thread).start();
  11.

  12.     // 你的其它的工作,此时线程在运行中
  13.

  14.     // 你不想让线程干活了,停掉它
  15.     // 注意,这只是一个标志,具体线程何时停,并不能精确控制
  16.     thread.allDone = true;
  17.

  18.   }
  19.

  20. }
  21.

  22. class MyThread implements Runnable {
  23.   boolean allDone = false;
  24.

  25.   public void run() {
  26.     // 每次循环都检测标志
  27.     // 如果设置停止标志时已经在循环里
  28.     // 则最长需要等待一个循环的时间才能终止
  29.     while (!allDone) {
  30.       // 循环里的工作
  31.     }
  32.   }
  33. }
分享到:
评论

相关推荐

    Java多线程机制(讲述java里面与多线程有关的函数)

    线程联合(Join)是让一个线程等待另一个线程完成后再继续执行,通过调用`join()`方法实现。 9.11 守护线程: 守护线程(Daemon)是一种不阻止程序退出的线程,如垃圾收集器就是守护线程。当所有非守护线程结束时,...

    Java多线程知识点总结

    Java多线程是Java编程语言中一个非常重要的概念,它允许开发者在一个程序中创建多个执行线程并行运行,以提高程序的执行效率和响应速度。在Java中,线程的生命周期包含五个基本状态,分别是新建状态(New)、就绪...

    java常用的代码——线程

    - **死亡状态(Terminated)**:线程执行结束或因异常而终止的状态。 ### 给定代码示例解析 #### 代码解读 ```java try { System.out.println("线程开始运行"); Thread.sleep(10000); // 模拟线程睡眠10秒 ...

    java线程线程安全同步线程

    Java线程是多线程编程的核心概念,是Java语言中实现并发执行的机制。线程安全和同步线程是确保在多线程环境下正确执行的关键因素。线程安全指的是一个方法或类在多线程环境下可以正确无误地运行,不会因为线程之间的...

    Java多线程机制和线程之间的协作

    Java多线程机制是编程中一个重要的概念,它允许程序同时执行多个任务,提升程序的效率和响应性。在Java中,线程是程序执行的基本单元,比进程更细粒度,一个进程可以包含多个线程。每个线程有自己的生命周期,包括...

    JAVA网络编程及多线程

    线程死亡的原因有两个:一是正常运行的线程完成了它的全部工作,即执行完了`run()`方法的最后一个语句并退出;二是线程被提前强制性地终止,如通过执行`stop()`方法或`destroy()`终止线程。 #### 四、多线程的基本...

    Java的多线程-线程间的通信.doc

    - `notify()`随机唤醒一个在目标对象上等待的线程,而`notifyAll()`会唤醒所有等待的线程。唤醒的线程需要竞争锁资源,只有获得锁的线程才能继续执行。 2. **suspend()和resume()**: - 这两个方法在早期的Java...

    4JAVA编程高级-多线程编程

    - **线程**:是进程中的一个执行流,一个进程中可以包含一个或多个线程,每个线程都是一条执行路径。 **进程与线程的区别** - 每个进程都有独立的代码和数据空间,而同一进程内的所有线程共享代码和数据空间。 - ...

    JAVA多线程模型详解

    Java线程具有创建、就绪、运行、阻塞和死亡五种状态。创建状态是指用new操作创建了一个Thread实例,但尚未调用start()方法;就绪状态是指线程可以运行,但CPU还未分配时间片;运行状态是指线程获得CPU时间片,正在...

    Java线程培训资料

    - `Object.wait()`: 使当前线程等待,直到另一个线程调用此对象上的`notify()`或`notifyAll()`方法,或等待时间超时。 - `Object.notify()`: 唤醒在此对象监视器上等待的单个线程。 - `Object.notifyAll()`: 唤醒...

    java 多线程编程指南

    Java提供了多种控制线程的方法,如start()启动线程,run()执行线程任务,sleep()让线程暂时休眠,join()等待其他线程结束,yield()让当前线程暂停,让其他线程有机会运行,以及设置优先级等。 并发控制是多线程编程...

    java多线程编程

    Java线程具有优先级,`Thread.NORM_PRIORITY`是默认优先级,可以通过`setPriority()`设置优先级。但优先级并不保证线程的执行顺序,因为线程调度取决于JVM和操作系统。 6. **线程池** Java的`ExecutorService`和`...

    JAVA实现多线程时钟代码程序

    每个线程都应该有自己的`try-catch`块,确保即使一个线程出错,其他线程也能继续运行。 8. **Applet的生命周期**:Applet有初始化、启动、绘画、停止和销毁等阶段,开发者需要了解每个阶段何时触发以及如何编写相应...

    java多线程机制 详解

    在Java中,线程是程序执行的最小单位,一个进程可以包含多个线程,每个线程都有自己独立的生命周期,包括产生、存在和消亡。 线程与进程的区别在于,程序是静态的代码,而进程是程序的动态执行实例,线程则是进程...

    Java Thread多线程全面解析

    5. 死亡状态(Dead):线程的run()方法执行完毕或因异常退出,线程生命周期结束。 创建Java多线程主要有以下两种方式: 1. 继承Thread类:创建一个新的类MyThread继承自Thread类,重写run()方法。在main方法中,...

    Java线程(第三版)

    《Java线程(第三版)》是一本深入探讨Java线程技术的专业书籍,旨在帮助开发者理解和掌握Java平台上的多线程编程。Java线程是并发编程的重要组成部分,它允许程序同时执行多个任务,从而充分利用系统资源,提高程序的...

    JAVA多线程练习题答案。

    在 JAVA 中,线程是一个独立的执行单元,它可以独立地执行任务。线程具有自己的程序计数器、寄存器和堆栈。线程可以共享同一个进程的内存空间和系统资源。 线程的生命周期 线程的生命周期包括创建、可运行、运行、...

    Java线程学习和总结

    1. **synchronized** 关键字:可以修饰方法或代码块,确保同一时刻只有一个线程执行该代码。 2. **volatile** 关键字:确保多个线程对共享变量的修改是可见的,但不保证原子性。 3. **Lock** 和 **ReentrantLock**:...

    java多线程.pdf

    - Java线程有五种状态:新建、就绪、运行、阻塞和死亡。线程的状态可以通过Thread对象的`getState()`方法查询,或者查看JDK11及更高版本的`Thread.status`常量。 5. 线程同步: - 为了处理线程安全问题,Java提供...

    java线程 线程学习资料 java线程教程

    ### Java线程教程知识点梳理 #### 一、教程概述 - **目标读者**: 本教程主要面向具备丰富Java基础知识但缺乏多线程编程经验的学习者。 - **学习成果**: 学习者能够掌握编写简单的多线程程序的能力,并能够理解和...

Global site tag (gtag.js) - Google Analytics