下面继续来记录多线程相关,今天记录并分享的都略微有点偏概念,但是看完之后绝对有助于提高读多线程相关的使用能力呦:
线程有新建、就绪、运行、阻塞、死亡五种状态。
下面就来说说sleep、wait、notify、notifyall五个方法:
1)sleep:将一个正在运行的线程进入睡眠状态,参数为睡眠时间设置,超过睡眠时间便继续执行。
2)wait:将一个线程进入阻塞状态并释放其所持有的所有对象的锁。
3)notify:唤醒一个处于阻塞状态的线程,并不能确切的唤醒某一个阻塞的线程(由JVM确定唤醒具体哪个线程,与线程优先级无关)。
4)notifyall:唤醒所有阻塞状态的线程,被唤醒的线程只有获取到锁之后才能进入就绪状态。