2017年12月16日

java中Thread类分析

摘要: 创建线程的方式有三种,一是创建Thread实例,二是实现Runnable接口,三是实现Callable接口,Runnable接口和Callable接口的区别是一个无返回值,一个有返回值;不管是Runnable还是Callable接口,都需要借助Thread去运行; Thread提供的主要线程操作接口 阅读全文

posted @ 2017-12-16 16:01 小夏coding 阅读(346) 评论(0) 推荐(0) 编辑

java中原子操作的实现分析

摘要: 一、CAS原理: CAS的全程即Compare And Swap,翻译成中文为比较并交换; CAS操作依赖于CPU指令CMPXCHG来实现比较并交换操作的原子性,通过查看HotSpot源码如下: 可以看到这个实现跟CPU的类型相关,程序会根据当前处理器的类型来决定是否为cmpxchg指令添加lock 阅读全文

posted @ 2017-12-16 15:54 小夏coding 阅读(326) 评论(0) 推荐(0) 编辑

AQS源码分析

摘要: AQS全程为AbstractQueuedSynchronizer,其定义了一套多线程访问共享资源的同步框架,大部分的同步类的实现都依赖于他,比如ReentrantLock,ReentrantReadWriteLock, Semaphore, CountDownLatch等等; AQS的内容包括了以下 阅读全文

posted @ 2017-12-16 15:41 小夏coding 阅读(232) 评论(0) 推荐(0) 编辑

导航