Java:Thread类以及线程状态
创始人
2024-11-11 04:03:13
0次

文章目录

  • Thread类
    • 等待一个线程 - join()
    • 获取当前线程的引用
    • sleep
  • 线程状态


Thread类

等待一个线程 - join()

操作系统,针对多个线程的执行,是一个"随机调度,抢占式执行“的过程.
线程等待就是在确定两个线程的"结束顺序”.

我们无法确定两个线程调度执行的顺序,但是我们可以控制谁先结束,谁后结束.

join()就可以做到上述操作.
在这里插入图片描述

比如,现在有两个线程,a,b.
在a线程中调用 b.join
意思就是让a线程等待b线程先结束
,然后a再继续执行.

public static void main(String[] args) throws InterruptedException {         //b线程         Thread b = new Thread(()->{             for (int i = 0; i < 3; i++) {                 System.out.println("b线程");             }         });         //开始执行b         b.start();                  //让主线程等待b线程结束         b.join();                  for (int i = 0; i < 2; i++) {             System.out.println("a线程");         }     } 

在这里插入图片描述

任何的线程之间都是可以相互等待的
线程等待,不一定是两个线程之间.一个线程可以同时等待多个别的线程,或者若干个线程之间也能相互等待.

获取当前线程的引用

想在某个线程中,获取到自身的Thread对象的引用,就可以通过currentThread来获取到.
在这里插入图片描述

Thread mainThread = Thread.currentThread(); 

在任何线程中都可以通过以上的操作,拿到线程的引用.

sleep

Thread.sleep(): 让调用的线程阻塞等待,是有一定时间的.
线程执行sleep时,会使这个线程不参与CPU调度,从而把CPU资源让出来给别人使用.
我们把sleep这样的操作称为"放权",即放弃使用CPU的权利.


线程状态

进程状态分为两种:

  1. 就绪: 正在CPU上执行,或者随时可以去CPU上执行
  2. 阻塞: 暂时不能参与CPU执行

Java对线程状态做了更详细的区分,一共有一下6种状态:

  1. NEW: 当前Thread对象虽然有了,但是在内核中还没有(还没调用过start).
  2. TERMINATED: 当前Thread对象虽然还在,但是内核的线程已经销毁(线程已经结束了)
  3. RUNNABLE: 就绪状态,正在CPU上运行 / 随时可以去CPU上运行
  4. BLOCKED: 阻塞.因为锁竞争,引起的阻塞.
  5. TIMED_WAITING: 阻塞.有超时时间的等待,比如sleep或者join带参数版本…
  6. WAITING: 阻塞.没有超时时间的阻塞等待,比如 join / wait

以上的线程状态,我们可以通过jconsole来观察.

本文到这里就结束啦~

相关内容

热门资讯

玩家必知教程!!浙江游戏大厅透... 您好,浙江游戏大厅这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多玩家在这款...
免费测试版开挂脚本!KELE多... 免费测试版开挂脚本!KELE多功能开挂脚本,KELE切实存在有开挂脚本KELE辅助器是一种具有地方特...
新手必备!凯旋麻将开挂脚本软件... 新手必备!凯旋麻将开挂脚本软件工具,凯旋麻将一直有开挂曝光APP(有挂攻略);凯旋麻将简单的透视挂控...
技巧知识分享外挂app!胡乐竞... 技巧知识分享外挂app!胡乐竞技多功能外挂app,胡乐竞技一直真的有外挂app1、很好的工具软件,可...
重大来袭!上游炸金花辅助器脚本... 重大来袭!上游炸金花辅助器脚本软件工具,上游炸金花最初有辅助器科普APP(果真有挂);上游炸金花是一...
技术分享辅助器工具!微乐江西麻... 技术分享辅助器工具!微乐江西麻将多功能辅助器工具,微乐江西麻将确实真的是有辅助器工具1、完成微乐江西...
实测教程!湖北雅苑麻将辅助挂脚... 实测教程!湖北雅苑麻将辅助挂脚本软件工具,湖北雅苑麻将起初是真的有辅助挂分享APP(有挂工具)是一款...
盘点几款外挂软件!大宝麻将多功... 盘点几款外挂软件!大宝麻将多功能外挂软件,大宝麻将原来存在有外挂软件大宝麻将脚本下载中分为三种模型:...
AI教程!微乐四川麻将辅助挂脚... AI教程!微乐四川麻将辅助挂脚本软件工具,微乐四川麻将果然有辅助挂分享APP(真实有挂);一、微乐四...
专业讨论辅助器技巧!开心娱乐多... 专业讨论辅助器技巧!开心娱乐多功能辅助器技巧,开心娱乐一贯真的是有辅助器技巧1、下载好开心娱乐透视辅...