随笔分类 -  并发编程

摘要:一、结论 先说结论,volatile能保证可见性和有序性,不能保证原子性。 二、volatile的内存语义 当写一个volatile变量时,会将变量值刷新回主内存 当读一个volatile变更时,会从主内存中读取最新值 三、内存屏障 是什么? 内存屏障是一类同步屏障指令,是cpu或编译器在对内存随机 阅读全文
posted @ 2023-06-01 18:32 余明星 阅读(37) 评论(0) 推荐(0)
摘要:1 LockSupport是什么 LockSupport是用来创建锁和其他同步类的基本阻塞原语。 park方法可以阻塞线程,unpark方法可以唤醒线程。与object的wait和notify不同的是,不需要synchonized的限制,没有先后顺序的限制。 2 线程中断 线程不应该被其他线程中断, 阅读全文
posted @ 2023-05-28 21:01 余明星 阅读(60) 评论(0) 推荐(0)
摘要:1 并发编程三大特性 可见性 原子性 有序性 2 JMM概念 java虚拟机规范中定义了java内存模型,用于屏蔽掉各种硬件和操作系统的内存访问差异,以实现java程序在各种平台下都能达到一致的并发效果。 jmm规范规定了java虚拟机与计算机内存是如何协同工作的: 规定了一个线程如何及何时可以看到 阅读全文
posted @ 2023-05-27 20:24 余明星 阅读(112) 评论(0) 推荐(0)