请选择 进入手机版 | 继续访问电脑版
设为首页收藏本站

java知识分享-我的java记事本

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 420|回复: 0

Concurrent包里的其他东西:ArrayBlockingQueue、CountDownLatch等等

[复制链接]

126

主题

127

帖子

510

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
510
发表于 2017-5-29 21:30:08 | 显示全部楼层 |阅读模式
java.util.concurrent包分成了三个部分,分别是java.util.concurrentjava.util.concurrent.atomicjava.util.concurrent.lock。内容涵盖了并发集合类、线程池机制、同步互斥机制、线程安全的变量更新工具类、锁等等常用工具。
java.util.concurrent包中提供了几个并发结合类,例如ConcurrentHashMapConcurrentLinkedQueueCopyOnWriteArrayList等等
对变量的读写操作都是原子操作(除了long或者double的变量),但像数值类型的++ --操作不是原子操作,像i++中包含了获得i的原始值、加1、写回i、返回原始值,在进行类似i++这样的操作时如果不进行同步问题就大了。好在java.util.concurrent.atomic为我们提供了很多工具类,可以以原子方式更新变量。
AtomicInteger为例,提供了代替++ --getAndIncrement()incrementAndGet()getAndDecrement()decrementAndGet()方法,还有加减给定值的方法、当前值等于预期值时更新的compareAndSet()方法。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|java知识分享 ( 闽ICP备14003021号-4   

GMT+8, 2017-10-19 11:20 , Processed in 0.134267 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表