• JUC编程


    1、简述线程,程序、进程的基本概念。以及他们之间关系是什么?

    • 程序是具有指令和数据的文件,可以说是静态的代码。
    • 进程是程序的一次执行过程,CPU分配资源的最小单位。
    • 线程是操作系统能够进行运算调度的最小单位。
      一个进程在其执行的过程中可以产生多个线程。进程的多个线程共享同一块内存空间和一组系统资源。

    2、线程有哪些基本状态

    当线程被创建并启动以后,它既不是一启动就进入了执行状态,也不是一直处于执行状态。在线程的生命周期中,它要经过新建(New)、就绪(Runnable)、运行(Running)、 阻塞(Blocked)和死亡(Dead)5 种状态
    1.新建状态(NEW) :当程序使用 new 关键字创建了一个线程之后,该线程就处于新建状态,此时仅由 JVM为其分配内存,并初始化其成员变量的值
    2.就绪状态(RUNNABLE):当线程对象调用了 start()方法之后,该线程处于就绪状态。Java 虚拟机会为其创建方法调用栈和程序计数器,等待调度运行。
    3.阻塞状态是指线程因为某种原因放弃了 cpu 使用权,暂时停止运行。直到线程进入就绪状态,才有机会再次获得CPU的使用权。

    • 等待阻塞(o.wait->等待对列): 运行的线程执行 o.wait()方法,JVM 会把该线程放入等待队列(waitting queue)中。
    • 同步阻塞(lock->锁池) 运行的线程在获取对象的同步锁时,若该同步锁被别的线程占用,则 JVM 会把该线程放入锁池(lock pool)中。
  • 相关阅读:
    路由查找原理
    1. 开篇:既简单又复杂的基础框架
    海康威视热成像实时测温java - 23版
    k8s-部署
    CrossFTP
    【ESD专题】案例:同样是RS485芯片,ESD的性能却天差地别?
    Vue3理解(8)
    [数据结构]~二叉树
    安卓抓包之小黄鸟
    C语言从入门到进阶(15万字总结)
  • 原文地址:https://blog.csdn.net/weixin_40108868/article/details/126466811