Object.notify()Object.notifyAll()LockSupport.unpark(Thread)等待时间到
runnable(包括ready、running)
获取锁成功
Thread.sleep(long millis)Object.wait(long timeout)Thread.join(long millis)LockSupport.parkNanos(long nanos)LockSupport.parkUntil(long deadline)
Object.notify()Object.notifyAllLockSupport.unpark(Thread)
new
Object.wait()Thread.join()LockSupport.park()
waiting
blocked
线程状态转换图
等待锁
Thread.start()