zoukankan      html  css  js  c++  java
  • Android Thread 常用方法

    前言

    本文简记 Android 的 Thread 线程常用方法。

    由于在 Android 中,要实现调用 HTTP 的 API 等等功能,都要在子线程中进行。所以,掌握 Thread 线程常用方法是必须的。

    实现 Thread 的三种方法

    继承 Thread 类

    • 简单的写法:

      new Thread() {
      	@Override
      	public void run() {
      		super.run();
              // TODO : do something...
      	}
      }.start();
      
    • 继承的子类示例:

      class ThreadThread extends Thread {
      	@Override
      	public void run() {
      		super.run();
      		// TODO : do something...
      	}
      }
      
    • 实现的子类声明示例:

      ThreadThread threadThread = new ThreadThread(); 
      

    实现 Runable 接口

    • 简单的写法:

      new Thread(new Runnable() {
      	@Override
      	public void run() {
      		// TODO : do something...
      	}
      }).start();
      
    • 实现的子类示例:

      class RunnableThread implements Runnable {
      	@Override
      	public void run() {
      		// TODO : do something...
      	}
      }
      
    • 实现的子类声明示例:

      Thread refreshThread = new Thread(new RefreshThread());
      

    实现 Callable 接口

    • 简单的写法:

      new Thread(String.valueOf(new Callable<String>() {
      	@Override
      	public String call() throws Exception {
      		// TODO : do something...
      		return null;
      	}
      })).start();
      
    • 实现的子类示例:

      class CallableThread implements Callable<String> {
      	@Override
      	public String call() throws Exception {
      		// TODO : do something...
      		return null;
      	}
      }
      
    • 实现的子类声明示例:

      FutureTask<String> task = new FutureTask<String>(new CallableThread());
      Thread callableThread = new Thread(task);
      

    常用方法

    这里的方法只以继承或实现 Thread 的子类为例。

    启动线程 start()

    • 示例:

      refreshThread.start();
      

    中断线程 interrupted()

    • 示例:

      refreshThread.interrupted();
      

    休眠线程 sleep()

    • 示例:

      refreshThread.sleep(1000); // 单位:毫秒
      

    等待线程 join()

    • 示例:

      refreshThread.join(); // 等待线程结束
      或者
      refreshThread.join(1000); // 最长等待事件,单位:毫秒
      
  • 相关阅读:
    Android Studio git 使用
    LInux tty 非阻塞配置以及安全读取数据方法
    Android JNI LOG 打印
    Android APP JNI 编写
    插件地址
    Linux 设置默认路由
    Linux Shell 判断语句
    ORACLE存储过程创建失败,如何查看其原因
    ORACLE时间函数(SYSDATE)深入理解
    JS中,如何判断一个数是不是小数?如果是小数,如何判断它是几位小数 保留n位小数
  • 原文地址:https://www.cnblogs.com/Yogile/p/13270068.html
Copyright © 2011-2022 走看看