题目描述
题目:线程有以下6种状态:新建、运行、阻塞、等待、计时等待和终止。
new 新线程时,线程处于新建 状态。
调用 start() 方法时,线程处于运行状态。
当线程需要获得对象的内置锁,而该锁正被其他线程拥有,线程处于阻塞状态。
线程等待其他线程通知调度表可以运行时,该线程处于等待状态。
对于一些含有时间参数的方法,如 Thread 类的 sleep() 方法,可以使线程处于计时等待状态。
当 run() 方法运行完毕或出现异常时,线程处于终止状态。
实现:查看线程的运行状态。
解题思路
创建一个类:ThreadState,实现 Runnable 接口
定义3个方法:
- waitForASecond():使当前线程等待0.5秒或其他线程调用 notify() 或 notifyAll() 方法
- waitForYears() :使当前线程永久等待,直到其他线程调用 notify() 或 notifyAll() 方法
- notifyNow():唤醒由调用 wait() 方法进入等待状态的线程
使用 Thread 类的 getState() 方法,可以获得线程的状态。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/141814.html