线程的6种状态:新建-可运行-阻塞-等待-等待(有时限)-终结
可运行-阻塞-等待-等待(有时限) 这四个状态可逆
可运行状态争抢锁失败时会变为阻塞状态 阻塞状态获取锁成功后会转变为可运行态
可运行状态争抢锁成功后条件不满足会调用wait方法,就会转变为等待状态 等待状态条件满足之后会调用notify方法,唤醒线程然后重新争抢锁,争抢锁成功后会变为可运行态
可运行状态调用sleep可以变为有时限等待 等sleep过后就会重新转变为可运行态