摘要: 1 锁的基本概念 1.1 特性 锁的核心作用是在多线程环境中对共享资源的访问进行控制,防止出现数据竞争问题。 互斥性:同一时间,只允许一个线程持有锁并访问共享资源。 可见性:获得锁的线程对共享资源的修改,能保证被后续获得同一锁的其他线程看到。 可重入性:允许同一个线程多次获取同一把锁,避免死锁情况发 阅读全文
posted @ 2025-05-21 15:56 褐瞳cutey 阅读(106) 评论(0) 推荐(0)
摘要: 1 JMM(Java Memory Model) Java 内存模型(Java Memory Model, JMM)是一种抽象规范,用于定义多线程程序中共享变量的可见性和有序性规则。其核心目标是在允许编译器 / 处理器优化的同时,确保程序在多线程环境下的正确性。 内存结构: 主内存:存储所有共享变量 阅读全文
posted @ 2025-05-21 15:56 褐瞳cutey 阅读(69) 评论(0) 推荐(0)
摘要: 多线程与并发-理论基础 1 基础概念 1.1 进程和线程 1.1.1 进程(Process) 进程指的是程序在操作系统里的一次执行过程,它是系统进行资源分配和调度的基本单位。进程具备自己独立的内存空间、系统资源以及执行上下文。下面是进程的一些主要特点: 独立性:不同的进程之间相互隔离,一个进程无法直接访问另一个进程的内存和 阅读全文
posted @ 2025-05-21 15:55 褐瞳cutey 阅读(128) 评论(0) 推荐(0)
摘要: 1 程序计数器 程序计数寄存器(Program Counter Register),是一块较小的内存空间,可以看作是当前线程所执行的字节码的行号指示器。在虚拟机的概念模型里,字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等基础功能都 阅读全文
posted @ 2025-05-17 17:55 褐瞳cutey 阅读(83) 评论(0) 推荐(0)