(2.1.2.5)并发
来源:互联网 发布:淘宝助理怎么导出csv 编辑:程序博客网 时间:2024/06/05 10:07
- 关键字
关键字
CopyOnWriteArrayList 适用于写少读多的并发场景
ReadWriteLock适用于读多写少的并发场景,ReadWriteLock即为读写锁,他要求写与写之间互斥,读与写之间互斥,读与读之间可以并发执行。在读多写少的情况下可以提高效率
ConcurrentHashMap是同步的HashMap,读写都加锁
只要在定义int类型的成员变量i的时候加上volatile关键字,也不能保证多线程并发执行i++这样的操作的时候就是线程安全的了
- volatile只保证多线程操作的可见性,不保证原子性
- 对于volatile修饰的变量,jvm虚拟机只是保证从主内存加载到线程工作内存的值是最新的
同步
- Critical Section 临界区(只能实现线程同步)
- Event 事件 进程同步
- Mutex互斥 进程同步
- Semaphore 信号量 进程同步
Threadloacal
- ThreadLocal的类声明:
public class ThreadLocal
可以看出ThreadLocal并没有继承自Thread,也没有实现Runnable接口。 - ThreadLocal类为每一个线程都维护了自己独有的变量拷贝。每个线程都拥有了自己独立的一个变量。
所以ThreadLocal重要作用并不在于多线程间的数据共享,而是数据的独立 - 由于每个线程在访问该变量时,读取和修改的,都是自己独有的那一份变量拷贝,不会被其他线程访问,变量被彻底封闭在每个访问的线程中
- ThreadLocal中定义了一个哈希表用于为每个线程都提供一个变量的副本:
- ThreadLocal的类声明:
0 0
- (2.1.2.5)并发
- CUDA并发相关(流并发、主机设备并发)
- Java 并发编程(四)并发容器
- java-并发-并发容器(2)
- java-并发-并发容器(3)
- java-并发-并发容器(4)
- Java并发编程(Concurrency)并发模型
- java并发(七、高级并发对象)
- 并发编程(四):并发工具类
- 并发编程实践2.1
- 2.1并发性
- 高并发(二)
- 高并发(三)
- Concurrent(并发)
- java 并发(1)
- java并发(2)
- JAVA并发(三)
- 并发访问(一)
- winfrom中用户控件写一个日历控件
- 116. Distinct Subsequences
- Hello World
- 在ListView中的Text添加spannableString 点击事件与ListView的OnItemClick事件冲突的解决办法
- HDOJ--1301--Jungle Roads
- (2.1.2.5)并发
- Using WinPcap in your programs
- 介绍 UIViewControllerTransitionCoordinator(翻译不到之处望多多提)
- 修改非空列的列类型
- I学霸官方免费教程二十四:Java常用类之随机数 Math类和Random类
- 桁架结构的APDL命令流
- hdu 5379 Mahjong tree 2015多校联合训练赛#7 dfs
- 带分区的省市区字典
- 学校集训心得DAY8.3-DAY8.8