1, 线程的概念
  一个程序中的方法有几条执行路径, 就有几个线程

2, 线程的创建:
  两种方式:
1, 继承Thread类
  class TestThread extends Thread {......}
2, 实现Runnable接口, 然后作为参数传入到Thread类的构造方法中
  class TestThread implements Runnable {......}

  线程的启动:
    调用线程类中的start()方法, 不能直接调用run()方法, 直接调用run()方法那叫方法调用, 不是启动线程

3, 线程常用方法
  isAlive()
  判断线程是否还活着, 调用start()之前和终止之后都是死的, 其他的都是活的
  interrupt()
  停止线程
  getPriority()
  setPriority(int i)
  设置优先级, 优先级的概念: 谁的优先级高, 谁执行的时间就多
  Thread里面的默认优先级:
  Thread.MIN_PRIORITY = 1
  Thread.MAX_PRIORITY = 10
  Thread.NORM_PRIORITY = 5
  Thread.sleep(1000);
  将程序暂定一会
  join()
  合并线程
  yield()
  让出CPU执行其他线程

  4, 线程同步
  synchronized