Android立刻终止一个线程
/**
 * Created by JuTao on 2017/2/4.
 * 如何中止一个线程
 */
public class ThreadDone {
  public static void main(String[] args) throws InterruptedException {
    MyRunnable myRunnable=new MyRunnable();
    Thread thread = new Thread(myRunnable);
    thread.start();
    Thread.sleep(1000);
    //仅仅利用flag并不能使线程立刻中止,当run方法中有耗时操作时会等待执行完成才结束
    myRunnable.flag=false;
    thread.interrupt();
  }
  private static class MyRunnable implements Runnable {
    //立刻同步到子线程中
    private volatile boolean flag = true;
    @Override public void run() {
      while (flag&&!Thread.interrupted()) {
        System.out.println("running");
        try {
          Thread.sleep(8000);
        } catch (InterruptedException e) {
          //e.printStackTrace();
          //thread.interrupt()执行后会立刻进入catch
          return;
        }
      }
    }
  }
}												
											Android立刻终止一个线程的更多相关文章
- 第5章   不要让线程成为脱缰的野马(Keeping your Threads on Leash)  ---干净的终止一个线程
		
干净的终止一个线程 我曾经在第2章产生一个后台线程,用以输出一张屏幕外的 bitmap 图.我们必须解决的一个最复杂的问题就是,如果用户企图结束程序,而这张bitmap 图尚未完成,怎么办?第2章的 ...
 - Android怎样保证一个线程最多仅仅能有一个Looper?
		
1. 怎样创建Looper? Looper的构造方法为private,所以不能直接使用其构造方法创建. private Looper(boolean quitAllowed) { mQueue = n ...
 - Qt学习之如何启动和终止一个线程
		
先来给出每个文件的相关代码然后再加以分析 //*************dialog.h**************// #ifndef DIALOG_H #define DIALOG_H #incl ...
 - 在Java中如何正确地终止一个线程
		
1.使用Thread.stop()? 极力不推荐此方式,此函数不安全且已废弃,具体可参考Java API文档 2.设置终止标识,例如: import static java.lang.System.o ...
 - android 如何结束一个线程
		
总结: 1 不推荐直接调用onstop()强制结束,,因为不安全 2 run()比较短暂,执行完毕会自动停止 3 在run()设置一个flag标识,满足条件才执行; 4 通过sleep()捕获异常,在 ...
 - java中怎么终止一个线程的执行----个人学习心得
		
参考了一下两个网站的介绍: ①:http://blog.csdn.net/liuhanhan512/article/details/7077601 ②:http://www.blogjava.net/ ...
 - 安全终止MFC线程
		
终止线程 有两种情况可以使线程结束:控制函数结束或者根本就不允许线程完成,而提前终止它.我们可以想象在WORD中进行后台打印,如果打印结束了,那线程就可以结束了.如果用户中止了打印,那后台打印线程也要 ...
 - Java线程状态、线程start方法源码、多线程、Java线程池、如何停止一个线程
		
下面将依次介绍: 1. 线程状态.Java线程状态和线程池状态 2. start方法源码 3. 什么是线程池? 4. 线程池的工作原理和使用线程池的好处 5. ThreadPoolExecutor中的 ...
 - java 线程实现、线程暂停和终止 、线程联合join、线程基本信息获取和设置、线程优先级
		
转载地址:速学堂 https://www.sxt.cn/Java_jQuery_in_action/eleven-inheritthread.html 1. 通过继承Thread类实现多线程 继承Th ...
 
随机推荐
- Python通过ssh连接服务器并执行命令
			
[本文出自天外归云的博客园] 脚本示例如下: # coding:utf-8 import time,paramiko,re,StringIO def exec_shell(command): ''' ...
 - JAVA-JSP内置对象之session对象
			
相关资料:<21天学通Java Web开发> session对象 1.session对象用来表示用户的会话状况,一般用于保存用户的各种信息.2.直到生命周期超时或者被认为释放掉为止. 方法 ...
 - 基于jQuery和CSS3超酷Material Design风格滑动菜单导航特效
			
分享一款效果非常炫酷的谷歌 Material Design 风格jQuery和CSS3滑动选项卡特效.该选项卡特效集合了扁平风格设计和按钮点击波特效.是一款设计的非常不错的Material Desig ...
 - Android GridView的使用页面按钮
			
GridView(网格视图),用来显示网格,用来显示一些按钮比较好用. 上代码吧. 主页面:activity_main.xml 添加一个GridView用来显示按钮的列表 <?xml versi ...
 - 老项目Xcode5.1编译器错误
			
老项目编译器错误html, body {overflow-x: initial !important;}html { font-size: 14px; } body { margin: 0px; pa ...
 - C#中的volatile关键字
			
volatile 关键字指示一个字段可以由多个同时执行的线程修改. 声明为 volatile 的字段不受编译器优化(假定由单个线程访问)的限制. 这样可以确保该字段在任何时间呈现的都是最新的值. vo ...
 - putty配色备份
			
[HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions\Solarized%20Dark] "Colour0"="1 ...
 - 键盘 Input子系统
			
应用层测试代码 #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <li ...
 - Vagrant (1) —— 基本安装与配置(上)
			
Vagrant (1) -- 基本安装与配置(上) 摘要 基本安装与配置 版本 Vagrant版本: 1.8.1 内容 启动运行 $ vagrant init hashicorp/precise64 ...
 - c# 利用反射清除事件
			
控件的事件清除,除了-=,就只能依靠反射来执行了. /// <summary> /// 清除一个对象的某个事件所挂钩的delegate /// </summary> /// & ...