线程状态:当线程被创建且启动后,总共包括了6中状态。
线程状态图:
Wai
Timed_Waiting状态:计时等待,时间到期后或接收到唤醒通知,该状态才会解除
计时等待的两种方式:
sleep(long m)方法:在等待m毫秒后,线程睡醒后进入Runnable或Blocked状态;
wait(long m)方法:在等待m毫秒后,线程还没被唤醒,会自动醒来进入Runnable或Blocked状态;
唤醒的方法:
notify():多个线程执行时,只能唤醒此对象监视器上(多个线程必须是同一个对象锁)等待的单个线程;
notifyAll():多个线程执行时,能唤醒此对象监视器上(多个线程必须是同一个对象锁)等待的所有线程;
Blocked状态:线程阻塞,需要等待其他线程释放锁才有可能被激活。
Waiting状态:无限等待,需要等待其他线程调用notify方法或notifyAll方法才能唤醒
代码案例:
原文:https://www.cnblogs.com/blogofzxf/p/14683649.html