创建一个新的线程 有两种方式 extends Thread 或者 implements Runnable Thread(Runnable target)
线程状态 enum State
NEW 线程尚未启动
RUNNABLE 线程可运行
BLOCKED 线程阻塞状态
WAITING 等待
TIMED_WAITING 有时间限定的等待
TERMINATED 线程已完成执行
public final synchronized void join(long millis, int nanos) 最多等待 mills+纳秒
public final synchronized void join(long millis) 等待该线程 mills
public final void join() { join(0); } 如果该线程存活 永远等待 while(isAlive()) wait(0)