摘要: 4.原子性、可见性,有序性 一、原子性 原子性是指: 一个操作是不可中断的,要么全部执行成功要么全部执行失败,有着“同生共死”的感觉。 volatile可以保证可见性和有序性,但不能保证原子性。 1. JMM 8个原子操作 在《java并发(三)-JMM内存模型和 volatile缓存一致性》,我们 阅读全文
posted @ 2020-10-10 13:44 面壁者逻辑 阅读(306) 评论(0) 推荐(0)
摘要: JMM内存模型和 volatile缓存一致性 一、 JMM内存模型 Java线程内存模型与CPU缓存模型类型,是基于CPU缓存模型来建立的,Java线程内存模型是标准化的,屏蔽了底层不同计算机的区别。 CPU缓存模型: JMM内存模型: 当多个线程共享一个变量时,会从主内存拷贝一份副本到自己线程的工 阅读全文
posted @ 2020-10-10 12:55 面壁者逻辑 阅读(394) 评论(0) 推荐(0)
摘要: 2. Java线程基础 一、 创建新线程 1.1 继承Thread类 Thread t1 = new Thread(); t1.start(); start()方法可以创建一个新的线程,并让这个线程执行run()方法 Thread t2 = new Thread(); t2.run() 这种直接用r 阅读全文
posted @ 2020-10-10 12:49 面壁者逻辑 阅读(114) 评论(0) 推荐(0)
摘要: 1. 并发的一些概念 一、并发优点 并发编程的形式可以将多核CPU的计算能力发挥到极致,性能得到提升。 面对复杂业务模型,并行程序会比串行程序更适应业务需求,而并发编程更能吻合这种业务拆分 。 需要掌握: 充分利用多核CPU的计算能力; 方便进行业务拆分,提升应用性能 二、并发缺点 频繁的上下文切换 阅读全文
posted @ 2020-10-10 12:47 面壁者逻辑 阅读(215) 评论(0) 推荐(0)