JAVA 并发类(一) 常用的并发类
来源:互联网 发布:怎么设置ad网络的大小 编辑:程序博客网 时间:2024/06/14 03:25
1. 集合类
ConcurrentHashMap:线程安全的HashMap的实现
CopyOnWriteArrayList:线程安全且在读操作时无锁的ArrayList
CopyOnWriteArraySet:基于CopyOnWriteArrayList 不添加重复元素
ArrayBlockingQueue:基于数组 先进先出 线程安全 可实现指定时间的拥塞读写
LinkedBlockingQueue:基于链表实现 读写各用一把锁 在高并发读写操作都多的情况下使用 性能优于ArrayBlockingQueue
2. 原子类
- AtomicInteger:线程安全的Intege,基于CAS实现(无阻塞,CPU原语) 优于使用同步锁的Integer
3.线程池
ThreadPoolExecutor:一个高效的支持并发的线程池,可以很容易的讲一个实现了Runnable接口的任务放入线程池执行,但要用好这个线程池,必须合理配置corePoolSize、最大线程数、任务缓冲队列,以及队列满了+线程池满时的回绝策略,一般而言对于这些参数的配置,需考虑两类需求:高性能和缓冲执行。
Executor:提供一些方便创建ThreadPoolExecutor的方法
FutureTask:用于异步获取执行结果或者取消执行任务的场景 基于CAS 避免锁的引用
4.锁
ReentrantLock:与synchronized效果一致,但是又更加灵活,支持公平/非公平锁、支持可中断的锁、支持非阻塞的tryLock(可超时)、支持锁条件等,需要手工释放锁,基于AbstractQueueSynchronizer
ReentrantReadWriteLock:与ReentrantLock没有关系,采用两把锁,用于读多写少的情形
阅读全文
0 0
- JAVA 并发类(一) 常用的并发类
- java 常用并发类
- java并发常用类
- JAVA并发-并发编程常用类
- 关于Java并发的常用类回顾
- JAVA中的并发工具类(一)----控制并发数的Semaphore
- Java并发编程类学习一(线程的定义)
- Java并发(一)
- Java并发(一)
- java并发编程 之 常用并发类库使用举例
- Java并发编程(一):并发编程的挑战
- java并发编程中常用的工具类 Executor
- java常用并发类的使用与替换
- Java并发中常用同步工具类
- Java并发包中常用类
- [Java 并发] 线程的基本知识(一)
- java高并发的解决方案(一)
- java并发线程的基础知识(一)
- Android 中PopupWindow使用
- ubuntu-tab空格修改
- sudo apt-get update时出现e-appstreamcli
- 强化学习之DQN
- LoRa学习:LoRa通信调制解调的实现原理与性能
- JAVA 并发类(一) 常用的并发类
- 关于ajax的双重循环加载
- 论撤消重做、回放系统的优雅实现:命令模式
- session过期时间设置
- 基于虚拟串口的新RobotFramework测试环境
- MySQL 主从复制
- OpenCV stitching_detail全景图部分说明
- 17、js-随机显示小星星
- 几个html网页提取正文的API和开源算法