- 博客(6)
- 资源 (10)
- 收藏
- 关注
翻译 Java原子变量
在 java.util.concurrent.atomic包下的类,在单个变量操作是支持原子操作的。其中的类有get和set方法和volatile 变量的read和write方法一样,然而,一个set方法和随后的get方法在操作同一个变量的时候有一种happens-before关系 原子的compareAndSet方法保证了内存的一致性的特性,然而在做一些简单的算术操作应用于integer原子
2016-10-29 19:24:33 357
原创 Thread源码浅析
一、Thread类的数据结构 class Thread implements Runnable { //... private char name[];//线程的名字 private int priority;//线程的优先级 //... /* Whether or not the thread is a daemon thr
2016-10-29 00:09:25 397
原创 Java并发之CountDownLatch源码分析
CountDownLatch是一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。内部采用的公平锁和共享锁的机制实现。 一、CountDownLatch的构造函数(采用的是一种公平锁机制) public CountDownLatch(int count) { if (count < 0) throw new IllegalArgumen
2016-10-07 23:50:58 4702 4
原创 Java并发之Semaphore的源码分析
Semaphore是一个计数信号量,采用的是共享锁的方式来控制。 主要对下面2个方法进行分析: acquire(int)来获取信号量,直到只有一个可以用或者出现中断。 release(int)用来释放信号量,将信号量数量返回给Semaphore public void acquire(int permits) throws InterruptedException {
2016-10-06 23:06:11 1495
原创 Java并发之synchronized的解析
在JDK中没有太多的对synchronzied的解析,主要是同步作用。下面通过jvm的中synchronizer.cpp的源码来分析 在这里可以下载jvm源码:http://hg.openjdk.java.net/ synchronzier.cpp的目录在:hotspot-9646293b9637\src\share\vm\runtime synchronized同步底层使用JNI调用Obj
2016-10-06 16:56:07 1148
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人