当前位置: 首页 > news >正文

做微信平台图片网站wordpress gateway

做微信平台图片网站,wordpress gateway,友链交换平台,灵芝住房和城乡建设局局网站文章目录 一、关于线程的状态二、观察线程的所有状态1. NEW状态2. TERMINATED状态3. RUNNABLE状态4. TIMED_WAITING 一、关于线程的状态 进程最核心的状态,一个是就绪状态,一个是阻塞状态(对于线程同样使用)。 以线程为单位进行调…

文章目录

    • 一、关于线程的状态
    • 二、观察线程的所有状态
      • 1. NEW状态
      • 2. TERMINATED状态
      • 3. RUNNABLE状态
      • 4. TIMED_WAITING

一、关于线程的状态

进程最核心的状态,一个是就绪状态,一个是阻塞状态(对于线程同样使用)。
以线程为单位进行调度的。
在Java中,又给线程赋予了一些其他的状态。

线程的状态是一个枚举类型 Thread.State

public class ThreadState {public static void main(String[] args) {for (Thread.State state : Thread.State.values()) { //遍历枚举中的每个元素System.out.println(state);}}
}

二、观察线程的所有状态

线程的状态一共有6个:

  • NEW:安排了工作, 还未开始行动。(Thread对象已经有了,.start()方法还没调用)
  • TERMINATED:工作完成了。(Thread对象还在,内核中的线程已经没了)
  • RUNNABLE:可工作的,又可以分成正在工作中和即将开始工作。(就绪状态 线程已经在cpu上执行了/线程正在排队等待上cpu执行)
  • TIMED_WAITING:表示排队等待其他事情(阻塞,由于sleep这种固定的方式产生的阻塞)
  • WAITING:表示排队等待其他事情(阻塞,由于wait这种不固定时间的方式产生的阻塞)
  • BLOCKED:表示排队等待其他事情(阻塞,由于锁竞争导致的阻塞)

后三个都是阻塞状态,是把三种不同的阻塞状态的原因给拎出来了。这样后续定位“线程卡死”问题的时候,就很容易通过状态来初步确定卡死的原因是什么了。

1. NEW状态

并没有调用start() 也并没有调用线程,此时它对象里面的状态就是new状态(开始状态)。

 public static void main(String[] args) {Thread t = new Thread(() -> {while (true) {}});//在调用 start 之前获取状态,此时就是NEW状态System.out.println(t.getState()); //并没有调用start() 也并没有调用线程,此时它对象里面的状态就是new状态//运行结果:NEW 

2. TERMINATED状态

在线程执行结束之后,获取线程状态,此时是TERMINARED状态(结束状态)。

  public static void main(String[] args) throws InterruptedException {Thread t = new Thread(() -> {});t.start();t.join(); //通过join方法进行等待//在线程执行结束之后,获取线程的状态,此时是TERMINARED状态System.out.println(t.getState());//执行结果:TERMINARED       

3. RUNNABLE状态

表示此线程正在运行当中,或者它随时准备去运行,此时它就是就绪状态。

public static void main(String[] args) throws InterruptedException {Thread t = new Thread(() -> {while (true) { //此线程全速运行}});t.start();for (int i = 0; i < 5; i++) {System.out.println(t.getState());Thread.sleep(1000); //主线程中,每隔1秒钟打印一次}}//运行结果:
RUNNABLE
RUNNABLE
RUNNABLE
RUNNABLE
RUNNABLE//且RUNNABLE每1s中运行一次

4. TIMED_WAITING

表示指定一定时间来进行等待。

 public static void main(String[] args) throws InterruptedException {Thread t = new Thread(() -> {while (true) {try {Thread.sleep(1000); //等待1s} catch (InterruptedException e) {e.printStackTrace();}}});t.start();for (int i = 0; i < 5; i++) {System.out.println(t.getState());Thread.sleep(1000);}}
}//输出结果:
RUNNABLE
TIMED_WAITING
TIMED_WAITING
TIMED_WAITING
TIMED_WAITING//设置了等待1s再执行,所以第1s没有执行到,打印主线程的代码

上述内容,是多进程中的四种状态。

http://www.yayakq.cn/news/374466/

相关文章:

  • 做公司自主网站承德seo搜索推广
  • 做网站得花多少钱北京互联网公司排行榜
  • 杭州协会网站建设方案photoshop网页版入口
  • 自助模块化网站建设自己想做一个网站
  • 重庆建设网站哪家好多方会议系统平台
  • 网站源代码制作做网站哪家便宜
  • 南昌做网站哪家公司好英德住房和城乡建设部网站
  • 石家庄视频网站建设公司公司网站后台打不开
  • 想做机械加工和橡胶生意怎么做网站网站公司查询
  • 删除网站死链wordpress metro手机主题
  • 做网站需要多少钱 网络服务营销型网站三要素
  • 美丽说网站案例分析重庆网站建设 吧
  • 住房城乡建设网站官网入口汕头市专注网站建设
  • 本地的南通网站建设关键词林俊杰的寓意
  • 网页制作与网站建设实战教程广告制作开票大类是什么
  • 畜牧业网站模板宿州官方网站建设
  • 贵阳网站制作服务商盐城市城乡建设门户网站
  • 东营网站建设电话帝国系统做企业网站
  • 想做个电影网站该怎么做做网站用什么系统
  • 网站特效网外贸网站
  • 东莞公司网站制作要多少钱redis 密码 wordpress
  • 怎么做代理ip网站wordpress图片如何排版
  • 优秀网站建设设计免费手机端网站模板
  • 做车贷的网站私域商城平台
  • 网站设计方案要怎么写服装定制品牌排行榜前十名
  • 妇联网网站建设工作网站设计面试问题
  • 中企高呈网站建设跨境电商平台有哪些营销方式
  • 企业网站需要哪些模块大众公司网页设计
  • 绵阳市做公司网站媒介代理公司排名
  • 上海云盾为网站做防护广州软件开发工资一般多少