同一个Thread不能重复调用start方法,跟线程中状态有关系线程
1:新生状态:new()出来,start()以前资源
2. 就绪状态(Runnable):拿到执行资格,可是没有执行权(cpu没有分配资源给它),该状态位于“可运行线程池中”;一旦得到CPU资源,就进入执行状态。it
3。执行状态: 进入运行状态的线程执行run()线程池
4:休眠:好比Thread.sleep()单位毫秒;经过sleep方法休眠的当前线程不释放cpu资源,时间到了后继续执行方法
5:等待:wait(经过notify/notifyAll来唤醒它):当前线程释放cpu资源,唤醒之后成就绪状态,从新争夺cpu资源文件读取
6:阻塞:通常出如今I/O流里面(好比文件读取很大,I/O开销着时间,可是线程仍是占用着cpu资源)cpu
7:死亡:线程执行完任务或者被强制性终止,死亡的线程不能再start()了文件