
java并发编程
文章平均质量分 80
一只攻城狮√
难道不成功你就不努力了吗
展开
-
JAVA-锁的升级与对比
在java SE 1.6中,锁一共有四种状态,级别从低到高分别为原创 2018-12-19 21:35:21 · 634 阅读 · 0 评论 -
并发编程的挑战
即使是单核处理器也支持多线程执行代码,cpu通过给每个线程分配时间片来实现这个机制。时间片是cpu分给每个线程的时间,时间非常短,cpu通过不停的切换线程执行,让我们感觉到多个线程是同时执行的。 多线程一定快嘛? 答案是否定的 如何减少上下文切换 无锁并发编程,多线程竞争锁时,会引起上下文切换,所以多线程处理数据时,可以用一些办法来避免使用锁,如将数据的ID按照Hash算法取模分段,不同的线程处理...原创 2018-12-15 21:13:39 · 259 阅读 · 0 评论 -
JAVA-并发编程-volatile解读
volatile的特性 理解volatile特性的一个好方法就是把对volatile变量的单个读/写,看成是使用同一个锁对这些单个读/写操作做了同步。 package text1; public class Threadtest implements Runnable{ int v1 = 0; public synchronized void set(int l) { v1 = l; ...原创 2018-12-26 21:06:35 · 340 阅读 · 0 评论 -
并发编程-内存模型(JMM)
并发编程中的两个关键问题 线程之间如何通信及线程之间如何同步。 通信是指线程之间以哪种机制来交换消息,在命令式编程中,线程之间的通信机制有两种:共享内存和消息传递。 同步是指程序中用于控制不同线程间操作发生相对顺序的机制。 java内存模型的抽象结构 所有实例域,静态域和数组元素都储存在堆内存中,堆内存在线程之间共享,局部变量方法定义参数和异常处理参数不会在线程之间共享,他们不会有内存可见性问题,...原创 2018-12-27 17:38:02 · 252 阅读 · 0 评论