乐云seo快速网站建设,网站建设 自动生成,成都网站建设cdajcx,视频网站建设技术方案目录
Thread的几个常见属性
1、Id
2、Name名称
3、State状态
4、Priority优先级
5、Daemon后台线程
6、Alive存活 Thread的几个常见属性 1、Id ID 是线程的唯一标识#xff0c;由系统自动分配#xff0c;不同线程不会重复。 2、Name名称 用户定义的名称。该名称在各种…目录
Thread的几个常见属性
1、Id
2、Name名称
3、State状态
4、Priority优先级
5、Daemon后台线程
6、Alive存活 Thread的几个常见属性 1、Id ID 是线程的唯一标识由系统自动分配不同线程不会重复。 2、Name名称 用户定义的名称。该名称在各种调试工具中都会用到。 3、State状态 状态表示线程当前所处的一个情况。和进程一样线程也有状态Java中对线程的状态又进一步的区分表达得更加丰富。 NEW新建状态Thread对象创建了但是还没有调用start内核中的线程还没创建。RUNNABLE可运行状态线程就绪正在cpu上执行或者等待调度BLOCKED阻塞状态由于锁竞争引起的阻塞WAITING等待状态通过 wait/join 等不带时间的方法进入的阻塞。TIMED_WAITING定时等待状态通过 sleep 等带有时间的方法进入的阻塞。TERMINATED终止状态run方法执行完毕内核中的线程已经销毁。 4、Priority优先级 顾名思义但是在Java中设置优先级效果可能不太明显由于系统的随机调度。 5、Daemon后台线程 Daemon后台线程又称守护线程。与之对应的是前台线程。前台线程的运行会阻止进程结束后台线程的运行不会阻止进程结束。jvm内置的线程都为后台线程。 public static void main(String[] args) {Thread t new Thread(new Runnable() {Overridepublic void run() {while (true) {System.out.println(hello thread);try {Thread.sleep(1000);} catch (InterruptedException e) {throw new RuntimeException(e);}}}}, 自定义线程名称);t.start();}以上代码中t 线程就属于前台线程 即点击执行后main会直接执行完毕而此时 t 线程仍然会一直循环打印hello thread 也证明了 t 线程阻止了进程的结束因此就是前台线程。 public static void main(String[] args) {Thread t new Thread(new Runnable() {Overridepublic void run() {while (true) {System.out.println(hello thread);try {Thread.sleep(1000);} catch (InterruptedException e) {throw new RuntimeException(e);}}}}, 自定义线程名称);t.setDaemon(true); //在start启动前设置线程为后台线程t.start();}此时 t 线程就无法阻止进程的结束 结果就是不会打印 hello thread 或者只打印了一次因为随机调度 6、Alive存活 alive存活表示内核中的线程PCB是否还存在。 public static void main(String[] args) throws InterruptedException {Thread t new Thread(new Runnable() { //此时只是有了t对象但是内核pcb还没有Overridepublic void run() {try {Thread.sleep(1000); //sleep一秒} catch (InterruptedException e) {throw new RuntimeException(e);}}}, 自定义线程名称);System.out.println(t.isAlive()); //falset.start(); //start后才真正在内核中创建出pcbSystem.out.println(t.isAlive()); //trueThread.sleep(2000); //sleep两秒等待t线程结束System.out.println(t.isAlive()); //false}t 线程执行完后内核pcb也随之释放但是当程序还未结束时t 变量还存在此时也为false 【Java多线程】Thread类的基本用法-CSDN博客https://blog.csdn.net/zzzzzhxxx/article/details/136121421?spm1001.2014.3001.5501【数据结构】二叉树的三种遍历非递归讲解-CSDN博客https://blog.csdn.net/zzzzzhxxx/article/details/136044643?spm1001.2014.3001.5501对进程与线程的理解-CSDN博客https://blog.csdn.net/zzzzzhxxx/article/details/136115808?spm1001.2014.3001.5501
如果觉得作者写的不错求给博主一个大大的点赞支持一下你们的支持是我更新的最大动力
如果觉得作者写的不错求给博主一个大大的点赞支持一下你们的支持是我更新的最大动力
如果觉得作者写的不错求给博主一个大大的点赞支持一下你们的支持是我更新的最大动力