LinuxGod

LinuxGod.net
Linux大神网——精选每一篇高品质的技术干货
  1. 首页
  2. 开源快讯
  3. 正文

Java面试题:线程的运行状态(2)

2022年12月18日 127点热度

目录

一、查看线程的运行状态

题目

线程有以下6种状态:新建、运行、阻塞、等待、计时等待和终止。

new新线程时,线程处于新建 状态。

调用start()方法时,线程处于运行状态。

当线程需要获得对象的内置锁linux 判断线程是否在运行,而该锁正被其他线程拥有,线程处于阻塞状态。

线程等待其他线程通知调度表可以运行时,该线程处于等待状态。

对于一些含有时间参数的方法linux 判断线程是否在运行linux视频,如 Thread 类的 sleep()方法,可以使线程处于计时等待状态。

当run()方法运行完毕或出现异常时,线程处于终止状态。

实现:查看线程的运行状态。

二、解题思路

创建一个类:ThreadState,实现Runnable接口

定义3个方法:

使用Thread类的getState()方法linux deepin,可以获得线程的状态。

该方法的返回值是Tread.State

三、代码详解

package com.xiaoxuzhu;
/**
 * Description: 
 *
 * @author xiaoxuzhu
 * @version 1.0
 *
 * 
 * 修改记录:
 * 修改后版本	        修改人		修改日期			修改内容
 * 2022/5/10.1	    xiaoxuzhu		2022/5/10		    Create
 * 

* @date 2022/5/10 */public class ThreadState implements Runnable {public synchronized void waitForASecond() throws InterruptedException {wait(500); // 使当前线程等待0.5秒或其他线程调用notify()或notifyAll()方法}public synchronized void waitForYears() throws InterruptedException {wait(); // 使当前线程永久等待,直到其他线程调用notify()或notifyAll()方法}public synchronized void notifyNow() throws InterruptedException {notify(); // 唤醒由调用wait()方法进入等待状态的线程Thread.sleep(100);//留时间打印}public void run() {try {waitForASecond(); // 在新线程中运行waitForASecond()方法waitForYears(); // 在新线程中运行waitForYears()方法} catch (InterruptedException e) {e.printStackTrace();}}}

测试类:

mfc判断线程是否在运行_判断线程是否运行_linux 判断线程是否在运行

package com.xiaoxuzhu;
/**
 * Description:
 *
 * @author xiaoxuzhu
 * @version 1.0
 *
 * 
 * 修改记录:
 * 修改后版本	        修改人		修改日期			修改内容
 * 2022/5/10.1	    xiaoxuzhu		2022/5/10		    Create
 * 

* @date 2022/5/10 */public class Test {public static void main(String[] args) throws InterruptedException {ThreadState state = new ThreadState();// 创建State对象Thread thread = new Thread(state);// 利用State对象创建Thread对象System.out.println("新建线程:" + thread.getState());// 输出线程状态thread.start(); // 调用thread对象的start()方法,启动新线程System.out.println("启动线程:" + thread.getState());// 输出线程状态Thread.sleep(100); // 当前线程休眠0.1秒,使新线程运行waitForASecond()方法System.out.println("计时等待:" + thread.getState());// 输出线程状态Thread.sleep(1000); // 当前线程休眠1秒,使新线程运行waitForYears()方法System.out.println("等待线程:" + thread.getState());// 输出线程状态state.notifyNow(); // 调用state的notifyNow()方法System.out.println("唤醒线程:" + thread.getState());// 输出线程状态Thread.sleep(1000); // 当前线程休眠1秒,使新线程结束System.out.println("终止线程:" + thread.getState());// 输出线程状态}}

mfc判断线程是否在运行_linux 判断线程是否在运行_判断线程是否运行

到此这篇关于Java查看线程运行状态的方法详解的文章就介绍到这了,更多相关Java线程运行状态内容请搜索猪先飞以前的文章或继续浏览下面的相关文章希望大家以后多多支持猪先飞!

本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: 线程阻塞
最后更新:2022年12月18日

Linux大神网

每日更新,欢迎收藏♥ 不积跬步无以至千里,加油,共勉。

点赞
< 上一篇
下一篇 >

Linux大神网

每日更新,欢迎收藏♥
不积跬步无以至千里,加油,共勉。

最新 热点 随机
最新 热点 随机
ubuntu离线安装软件 鸿蒙OS环境搭建过程中遇到的问题及解决方案 写入数据覆盖的分析与执行 解读Rainbond集群的安装和运维的原理,便于用户搭建Rainbond Linux基础知识:文件描述符、文件指针、索引节点 如何解决Linux下的无线网卡驱动的问题? linux 文件描述符 (师)-unused-fdKernel:2.6.14CPUarchitecture Linux系统下如何搭建SVN服务器,详细说明各配置项的功能 修改软件源文件、UI界面设置换源操作|Ubuntu Ubuntu14.04.2为例进行说明,其它Ubuntu版本与此类似 Linux图形界面用户和Windows用户来说获取系统硬件信息都不算问题 Ubuntu下换内核的过程及详细分析内核操作分析 100篇文章内存管理——内存回收入口 Web站点,utsa,,/usp/为读者提供大量资料 Linux内核源码/内存/文件系统/进程管理/设备 TeXLive和MiKTeX两大主要发行版的镜像配置方法 安全增强式Linux(SELinuxLinux)内核修改和用户空间工具 Ubuntu系统下安装字体和切换默认字体的方法系统 896MB如何转换为物理空间(Linux地址映射的分析) 比较流行的Linux系统图形界面环境-Linux社区创作挑战赛 如何查看Linux硬盘的大小、类型和硬件信息?方法
ubuntu离线安装软件 鸿蒙OS环境搭建过程中遇到的问题及解决方案Android官方网站:OpenHandsetAlliance源码模式:开发源码内核linux中makefile文件 cdeveloper的第21篇原创技术文章建议横屏Makefile简介Fedora17新特色特色说明桌面环境28bata集成了GNOMELinux嵌入式系统智能手机系统的硬件设计Unix或者类Unix文件系统中的每个文件(或者目录)打开U盘什么文件都看不到小编总结了基于嵌入式Linux的智能手机系统软件的设计与实现如何在Linux中使用Firejail运行应用程序访问某个目录基于嵌入式��闹悄苁只�长沙理工大学C语言教程-Qt.12安装教程05-27Linux有7个运行级别(关机,停机模式、DellG3)(Linux基础知识)文件压缩、打包命令解析的Linux操作系统怎样执行?LinuxDNS服务器,如何安装、配置和维护它?AMD2950x+技嘉x399免驱USB网卡,我的无线网卡linux解压gz文件命令 蓝易云香港五网CN2网络压缩比率的测试环境Linux系统中用于管理和控制系统服务的强大工具介绍围绕API创建封装器的开源项目正变得越来越流行主频93.75MHz的MIPS64NECVR4300处理器在N64上运行
Linux生态系统开发工具总结环境开发的工具介绍 围绕API创建封装器的开源项目正变得越来越流行 DS-6400HD-T系列高清视音频 玩了这么久的Linux,居然不知道这7个快捷键 Linux系统的启动过程,来说一说启动顺序详解 Windows是最好的操作系统,Ubuntu想(打)引(去)战(吧) RedHatLinux软件安装包软件后缀为.rpm最初 Fedora17新特色特色说明桌面环境28bata集成了GNOME (编程)编程的更进一步更进一步.1--2 0渗透操作0x02绕过disable_functions插件(组图) LinuxTCP协议栈的内部机制和优化技术介绍 GBK乱码的样子有哪些?乱码是怎么回事? 查看Linux内核Kernel的场景情况查看的几种方式 豆瓣高评分书籍,快来看看你都读过哪几本? RedHatEnterprise命令删除空文件夹命令教程操作环境介绍 轻松解决Linux中文乱码问题,10招教你搞定! 如何实现本地机器与服务器之间的文件传输? 转到程序的开始(地址0)Demo程序 文件计算系统运行时间及概念分析(2015.4.1) Linux平台下的嵌入式软件要具备说明技能吗?
标签聚合
命令模式 linux服务器 sudo 文件目录 linux系统 软件 电脑 虚拟机 linux脚本 命令
书籍
课程
技术群
技术干货大合集↓
  • 2023年6月 / 17篇
  • 2023年5月 / 93篇
  • 2023年4月 / 90篇
  • 2023年3月 / 129篇
  • 2023年2月 / 84篇
  • 2023年1月 / 161篇
  • 2022年12月 / 187篇
  • 2022年11月 / 76篇
友情链接:

Linux书籍 | Linux命令 | Linux系统 | RHCE红帽认证 | Linux软件 | Linux教程 | CentOS系统 | Linux内核 | Linux服务器 | Linux大神 | IT资源

COPYRIGHT © 2023 linuxgod.net ALL RIGHTS RESERVED.