并发
文章平均质量分 79
奔跑的小车车
这个作者很懒,什么都没留下…
展开
-
ConcurrentHashMap介绍
1.为啥会出现ConcurrentHashMap? 原因: 原因1:线程不安全的HashMap 因为多线程环境下,使用Hashmap进行put操作会引起死循环,导致CPU利用率接近100%,所以在并发情况下不能使用HashMap。 源代码: final HashMap map = new HashMap(2); Thread t = new Thread(ne原创 2016-02-10 23:11:39 · 282 阅读 · 0 评论 -
线程同步问题,volatile关键字和synchronized关键字
本文主要资源来自Effective Java这本书,相当于读书笔记一样,所属权属于该书作者。 1.同步访问共享的可变数据 关键字synchronized可以保证在同一个时刻。只有一个线程可以执行某一个方法,或者某个代码块。 java语言规范保证读或写一个变量是原子的,除非这个变量的类型是long或者double。 为了在线程之间进行可靠的通信,也为了互斥访问,同步是必要的。原创 2016-01-14 14:47:29 · 392 阅读 · 0 评论 -
高并发系列(三)--线程安全性详解(原子性)
一、概念 1.定义:当多个线程访问某个类时,不管运行时环境采用何种调度方式或者这些进程将如何交替执行,并且在主调代码中不需要任何额外的同步或协同,这个类都能表现出正确的行为,那么就称这个类是线程安全的。 2.线程安全性: 原子性:提供了互斥访问,同一时刻只能有一个线程来对它进行操作。 可见性:一个线程对主内存的修改可以及时的被其他线程观察到。 有序...原创 2019-07-13 15:40:16 · 733 阅读 · 0 评论