java.util.concurrent 小记

标签: jdk concurrent
5人阅读 评论(0) 收藏 举报
分类:

Unsafe,它提供了硬件级别的原子操作。
CAS,Compare and Swap即比较并交换,设计并发算法时常用到的一种技术,java.util.concurrent包全完建立在CAS之上,没有CAS也就没有此包,可见CAS的重要性。

AtomicInteger 类里面 好多方法使用了Unsafe类 的CAS,功能相当于乐观锁

Unsafe类 方法 几乎都是 native方法
native方法称为本地方法。在java源程序中以关键字“native”声明,不提供函数体。
其实现使用C/C++语言在另外的文件中编写,编写的规则遵循Java本地接口的规范(简称JNI)。简而言就是Java中声明的可调用的使用C/C++实现的方法。

CAS的缺点:
CAS看起来很美,但这种操作显然无法涵盖并发下的所有场景,并且CAS从语义上来说也不是完美的,存在这样一个逻辑漏洞:如果一个变量V初次读取的时候是A值,并且在准备赋值的时候检查到它仍然是A值,那我们就能说明它的值没有被其他线程修改过了吗?如果在这段期间它的值曾经被改成了B,然后又改回A,那CAS操作就会误认为它从来没有被修改过。这个漏洞称为CAS操作的”ABA”问题。java.util.concurrent包为了解决这个问题,提供了一个带有标记的原子引用类”AtomicStampedReference”,它可以通过控制变量值的版本来保证CAS的正确性。不过目前来说这个类比较”鸡肋”,大部分情况下ABA问题并不会影响程序并发的正确性,如果需要解决ABA问题,使用传统的互斥同步可能回避原子类更加高效。

查看评论

JDK源码——java.util.concurrent(七)

CopyOnWriteArrayList、CopyOnWriteArraySet这两个类都比较简单内部有一个数组和一把锁,对所有写操作加锁.每次进行写操作时都复制一个新的数组,在新数组上进行;而读则在...
  • KevinDai007
  • KevinDai007
  • 2017-05-12 07:31:44
  • 521

刷题小记

1、ctrl + c 和 ctrl + d 和 ctrl + z Ctrl + C To terminate(终止进程) Ctrl + D signals EOF(文件结束符) Ctrl + Z su...
  • qq_27657429
  • qq_27657429
  • 2017-03-26 19:12:21
  • 320

实习小记(一)

很久没来了,新的一年来临,祝大家新年新气象,身体健康,知足常乐。博主近期在秋招成功的公司里实习,第一个月是在新环境和新挑战中浑浑噩噩度过的,目前,适应的还行,学校的事情也告一段落了,终于有时间写点东西...
  • sd_bit19
  • sd_bit19
  • 2018-01-11 21:09:41
  • 394

java.util.concurrent

  • 2012年12月01日 17:54
  • 166KB
  • 下载

实习小记

八月八号,一个多么吉利的日子,我开始了我的实习生活。实习公司和学校宿舍也就一个小时车程,不过,个人暂时还没有早起的习惯,所以,选择了住在公司,这样其实也挺好的,因为早上万一堵车,我岂不是要迟到了。公司...
  • DLUTBruceZhang
  • DLUTBruceZhang
  • 2013-08-27 10:01:14
  • 4292

java.util.concurrent系列文章(2)

  • 2010年04月12日 10:51
  • 361KB
  • 下载

java.util.concurrent系列文章(1)

  • 2010年04月12日 10:48
  • 333KB
  • 下载

java.util.concurrent整体结构图

Executor: 执行对象 * Executor: 执行已提交的Runnable任务的对象 * ExecutorService ThreadPoolExecutor ...
  • skyxiangyu
  • skyxiangyu
  • 2013-11-08 16:45:31
  • 589

浅谈java.util.concurrent包的并发处理

我们都知道,在JDK1.5之前,Java中要进行业务并发时,通常需要有程序员独立完成代码实现,而当针对高质量Java多线程并发程序设计时,为防止死蹦等现象的出现,比如使用java之前的wait()、n...
  • cping1982
  • cping1982
  • 2007-12-12 15:31:00
  • 50932
    个人资料
    持之以恒
    等级:
    访问量: 2148
    积分: 332
    排名: 24万+
    文章存档
    最新评论