并发编程补充

并发编程补充

volatile 与 synchronized 的区别修饰区域volatile 轻量级,只能修饰变量synchronized 重量级,修饰变量和方法线程安全线程安全包括两个方面:可见性、原子性volatile 只能保证数据的可见性,所以不能用来同步;而 synchronized 因为只有获得锁才能进入临界区所以即保证可见性,也保证原子性。并行与并发的区别并行: 两个任务同时运行,即 A 任务...

并发编程 2019-05-03 PM 19次 0条
Java并发编程

Java并发编程

参考:地址线程的状态五种基本状态新建: 线程创建后还未启动。可运行: 正在运行或正在等待 CPU 时间片(CPU分配给各个程序的时间)。阻塞: 多线程有同步操作时才会出现的状态,一个线程等待另一个线程(锁释放)。等待: 1.限期等待,一定时间后会被系统自动唤醒,可以使用 sleep、wait(带参)、join(带参)等方法进入。2.无限期等待,只能被其它线程唤醒,可以使用 wait(无参)、...

并发编程 2019-05-02 PM 24次 0条
JMM 内存模型

JMM 内存模型

JMMJMM:JavaMemoryModel,即 Java 内存模型,用于屏蔽各种硬件和操作系统的内存访问差异。注: JMM 和 JVM内存结构不是一个层次的划分:JVM 内存结构是伴随JVM的启动而对内存区域进行的划分是真实存在的JMM 只是一个抽象的概念,和多线程相关的,描述了一组规则或规范,这些规则或规范围绕如何处理并发过程中的原子性、可见性和有序性来建立的。主内存、工作内存、内存交互...

并发编程 2019-04-29 PM 16次 0条