问题:java 中如何让一个正在运行的线程终止掉?

Demo_1:

class TT implements Runnable {
private boolean flag = true;
@Override
public void run() {
int i = 0;
while(flag) {
System.out.println("child thread: "+i++);
}
}
public void shutDowm() {
flag = false;
}
}
class TestThread {
public static void main(String[] args) {
TT tt = new TT();
Thread t = new Thread(tt);
t.start();
for(int i = 0; i < 4; i++) {
System.out.println("the main Thread is running : "+i);
}
System.out.println("Thread main is void");
tt.shutDowm();
}
}

Demo_2:

class TT implements Runnable {
@Override
public void run() {
for(int i = 1; i <= 589; i++){
System.out.println("subThread: "+ i);
}
}
}
class TestThread {
public static void main(String[] args) {
TT tt = new TT();
Thread t = new Thread(tt);
t.start();
try {
t.join();
} catch (InterruptedException e) {
}
for(int i = 0; i < 8; i++) {
System.out.println("main Thread is running : "+i);
}
}
}

Demo_3:

class TT extends Thread {
@Override
public void run() {
for(int i = 1; i <= 5; i++){
System.out.println("subThread: "+ i);
}
}
}
class TestThread {
public static void main(String[] args) {
TT tt = new TT();
tt.start(); Thread dd = new TT();
dd.start();
for(int i = 0; i < 8; i++) {
System.out.println("main Thread is running : "+i);
}
}
}

运行结果:

main Thread is running : 0
main Thread is running : 1
main Thread is running : 2
subThread: 1
subThread: 1
subThread: 2
subThread: 2
main Thread is running : 3
main Thread is running : 4
main Thread is running : 5
main Thread is running : 6
main Thread is running : 7
subThread: 3
subThread: 4
subThread: 5
subThread: 3
subThread: 4
subThread: 5

Java中终止正在运行线程的更多相关文章

  1. Java中的进程和线程

     Java中的进程与线程 一:进程与线程 概述:几乎任何的操作系统都支持运行多个任务,通常一个任务就是一个程序,而一个程序就是一个进程.当一个进程运行时,内部可能包括多个顺序执行流,每个顺序执行流就是 ...

  2. Java中的进程与线程(总结篇)

    详细文档: Java中的进程与线程.rar 474KB 1/7/2017 6:21:15 PM 概述: 几乎任何的操作系统都支持运行多个任务,通常一个任务就是一个程序,而一个程序就是一个进程.当一个进 ...

  3. JAVA中获取当前运行的类名,方法名,行数

    JAVA中获取当前运行的类名,方法名,行数 public static String getTraceInfo(){ StringBuffer sb = new StringBuffer(); Sta ...

  4. JAVA 中无锁的线程安全整数 AtomicInteger介绍和使用

    Java 中无锁的线程安全整数 AtomicInteger,一个提供原子操作的Integer的类.在Java语言中,++i和i++操作并不是线程安全的,在使用的时候, 不可避免的会用到synchron ...

  5. java中的++i是线程安全的吗?

    java中的++i是线程安全的吗?为什么?怎么使它线程安全呢? 先说答案: 非线程安全 先说下为什么是非线程安全的? 从Java内存模型说起 Java内存模型规定了所有的便利都存储在主内存中,每个线程 ...

  6. java中终止线程的三种方式

    在java中有三种方式可以终止线程.分别为: 1.  使用退出标志,使线程正常退出,也就是当run方法完成后线程终止.  2.  使用stop方法强行终止线程(这个方法不推荐使用,因为stop和sus ...

  7. 浅析java中的四种线程池

      1.使用线程池的好处 2.JUC中几种常用的线程池 java.util.concurrent包下的Executors工厂类,提供了一系列的线程池的创建方法,其构造方法如下: public Thre ...

  8. (转)java中的进程与线程

    (转自地址http://www.ibm.com/developerworks/cn/java/j-lo-processthread/) Java 进程的建立方法 在 JDK 中,与进程有直接关系的类为 ...

  9. java中的进程与线程及java对象的内存结构【转】

    原文地址:http://rainforc.iteye.com/blog/2039501   1.实现线程的三种方式:   使用内核线程实现     内核线程(Kernel Thread, KLT)就是 ...

随机推荐

  1. Tornado用户指引(一)-----------异步和非阻塞I/O

    摘要:异步和非阻塞I/O实时WEB的特性是经常需要为每个用户端维持一个长时间存活但是大部分时候空闲的连接.在传统的同步式web服务器中,这主要通过为每个用户创建一个线程来实现,这样的代价是十分昂贵的. ...

  2. 「PHP」设计模式介绍

    引言   最近再看PHP设计模式相关的一些技术文章,网上有关PHP的设计模式范例很少,这里做一些总结仅供参考,不足之处望提出. 参考资料: <大话设计模式>程杰   什么是设计模式   设 ...

  3. 端午节佳节从CSDN博客搬家来这,请多多指教

    端午节佳节从CSDN博客搬家来博客园,请多多指教

  4. wordpress网站程序漏洞修复办法

    近日wordpress被爆出高危的网站漏洞,该漏洞可以伪造代码进行远程代码执行,获取管理员的session以及获取cookies值,漏洞的产生是在于wordpress默认开启的文章评论功能,该功能在对 ...

  5. Java多线程一些基础知识

    最近复习了一些多线程方面的基础知识,做一下总结,多以自己的理解来文字叙述,如果有漏点或者理解错的地方,欢迎各位大佬多多指出: ps:线程分为用户线程和守护线程,当程序中的所有的用户线程都执行完了之后, ...

  6. ACM数论-素数

    ACM数论——素数  素数定义: 质数(prime number)又称素数,有无限个.质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数,这样的数称为质数.例 子:2.3.5.7.11.1 ...

  7. DE4加DVI子板实现静态图片显示

    20170906录一下 内容后续补充

  8. Java 高级应用编程 第二章 集合

    一.Java 中的集合类 1.集合概述 Java中集合类是用来存放对象的 集合相当于一个容器,里面包容着一组对象 —— 容器类 其中的每个对象作为集合的一个元素出现 Java API提供的集合类位于j ...

  9. MySQL高级第三章——查询截取分析

    一.查询分析 1.永远小表驱动大表 使用小的数据集驱动大的数据集. //复习 EXISTS 的知识:SELECT ... FROM tb WHERE EXISTS (subquery) 是因为前后数据 ...

  10. PHP.50-TP框架商城应用实例-前台2-商品推荐

    商品推荐 {抢购,新品,精品,热卖}效果如下 1.在商品表增加促销价格与促销起始时间和结束时间三个字段,字段推荐楼层与排序在后面用到  注意:在增加datetime类型字段时,要添加默认值{datet ...