前言
本文简记 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); // 最长等待事件,单位:毫秒