创建并使用线程
  两种方式,创建新的线程:
  实现 Runnable 接口,Runnable 接口定义了一个方法:run。run 方法中的代码,将在创建的线程中执行。实现了 Runnable 接口的对象,作为 Thread 构造方法的参数。
  <code class="java">public class HelloRunnable implements Runnable {
  public void run() {
  System.out.println("Hello from a thread!");
  }
  public static void main(String args[]) {
  (new Thread(new HelloRunnable())).start();
  }
  }</code>
  继承 Thread。Thread 类实现了 Runnable 接口,尽管它的 run 方法内什么也没有。一个类可以继承自 Thread,并重写 run 方法。
  <code class="java">public class HelloThread extends Thread {
  public void run() {
  System.out.println("Hello from a thread!");
  }
  public static void main(String args[]) {
  (new HelloThread()).start();
  }
  }</code>
  注意,两个例子均调用了 Thread.start 去创建一个新的线程
  这两种方式,该选哪一种?
  实现 Runnable 接口,是常用的创建新线程的方式。
  实现 Runnable 接口的类,可以继承自其它的类,而不仅仅是 Thread。更加灵活。
  适用于一些高阶线程管理的 APIs
  继承 Thread,用起来似乎更加简单一点。缺点是,无法继承其它类 (java)
  建议使用第一种。