java并发编程
文章平均质量分 89
HLA_胡
2016.06-2019.08 猫眼电影
2019.08-至今 头条西瓜视频
展开
-
java并发编程---synchronized、Lock
1、引言 1.1 什么时候会出现线程安全问题? 在单线程中不会出现线程安全问题,而在多线程编程中,有可能会出现同时访问同一个资源的情况,这种资源可以是各种类型的的资源:一个变量、一个对象、一个文件、一个数据库表等,而当多个线程同时访问同一个资源的时候,就会存在一个问题:由于每个线程执行的过程是不可控的,所以很可能导致最终的结果与实际上的愿望相违背或者直接导致程序出错。 举个简单的例子原创 2015-08-22 16:27:02 · 706 阅读 · 0 评论 -
java并发编程---ThreadLocal
1、ThreadLocal由来 synchronized这类线程同步的机制可以解决多线程并发问题,在这种解决方案下,多个线程访问到的,都是同一份变量的内容。为了防止在多线程访问的过程中,可能会出现的并发错误。不得不对多个线程的访问进行同步,这样也就意味着,多个线程必须先后对变量的值进行访问或者修改,这是一种以延长访问时间来换取线程安全性的策略。 而ThreadLocal类为原创 2015-08-22 21:44:38 · 136 阅读 · 0 评论 -
java并发编程---Java内存模型(JMM)
1、引言 在讨论Java内存模型和线程之前,先简单介绍一下硬件的效率与一致性。 由于计算机的存储设备与处理器的运算能力之间有几个数量级的差距,所以现代计算机系统都不得不加入一层读写速度尽可能接近处理器运算速度的高速缓存(cache)来作为内存与处理器之间的缓冲:将运算需要使用到的数据复制到缓存中,让运算能快速进行,当运算结束后再从缓存同步回内存之中没这样处理器就无需等待缓慢的内存读写了原创 2015-08-21 19:59:49 · 942 阅读 · 1 评论 -
java并发编程---如何创建线程以及Thread类的使用
1、Java中关于应用程序和进程相关的概念 在Java中,一个应用程序对应着一个JVM实例(也有地方称为JVM进程),一般来说名字默认为java.exe或者javaw.exe(windows下可以通过任务管理器查看)。Java采用的是单线程编程模型,即在我们自己的程序中如果没有主动创建线程的话,只会创建一个线程,通常称为主线程。但是要注意,虽然只有一个线程来执行任务,不代表JVM中只有一原创 2015-08-21 21:24:11 · 2996 阅读 · 0 评论 -
java并发编程---volatile
1、并发编程中的三个概念 在并发编程中,我们通常会遇到以下三个问题:原子性问题,可见性问题,有序性问题。我们先看具体看一下这三个概念: 1.1.原子性 原子性:即一个操作或者多个操作 要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行。 一个很经典的例子就是银行账户转账问题:老公去在 ATM 上取钱,老婆在柜台存钱,假设这个账户中有 1000 元。老公首先执行查询原创 2015-08-22 19:39:45 · 123 阅读 · 0 评论 -
volatile关键字及其应用
1.并发编程中的三个概念 原子性 即一个操作或者多个操作要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行。 可见性 是指当多个线程访问同一个变量时,一个线程修改了这个变量的值,其他线程能够立即看得到修改的值。 举个简单的例子,看下面这段代码: //线程1执行的代码 int i = 0; i = 10; //线程2执行的代码 j = i; j的取值0或10 , 线程1...原创 2019-08-20 17:27:56 · 639 阅读 · 0 评论 -
并发编程面试问题
更多问题参考: Java多线程面试题通关手册:https://mp.weixin.qq.com/s/w8KTx1K8RpcZl_In-CxIMQ 问题 答案 线程与进程的区别? 进程是操作系统分配资源的最小单元,线程是CPU调度和分派的最小单元。 一个线程可以创建和撤销另一个线程,同一个进程中的多个线程之间可以并发执行 进程有独立的地址空间,线程有...原创 2019-08-16 15:04:37 · 172 阅读 · 0 评论 -
synchronize的实现原理
参考: https://blog.csdn.net/u012715840/article/details/58247556 https://blog.csdn.net/East_MrChiu/article/details/89163865 总结 : 1. 对象锁标记初始值为匿名偏向锁 2. 线程第一次获取锁是升级为偏向锁 3. 不止一个线程获取偏向锁,CAS 线程Id 失败的...原创 2019-08-16 15:24:48 · 492 阅读 · 0 评论