多线程
新建 => 启动(就绪) => 运行 => 结束(关闭)
线程运行时由于各种原因(休眠或IO结束时或OBJ notify )会由运行变为阻塞,阻塞结束重新变为启动状态。
新建线程
第一种方法:继承Thread类重写run方法
第二种方法:实现Runnable接口,重写run方法
第三种方法:实现Callable接口,重写call方法,需要搭配另外一个类Future完成线程的创建
第四种方法:通过线程池 => 1.可变容量线程池
2.固定容量线程池
3.单个线程池(与单个线程的区别在于不用频繁开启关闭)