2018年8月2日

Java并发编程原理与实战十五:手动实现一个可重入锁

摘要: package com.roocon.thread.ta1; 运行结果: 现在来模拟下,基于以上代码,锁是否可重入: 分析以上运行结果: 线程1调用a方法,第一次进入lock方法,去获取锁。此时,isLocked为false,于是将标志锁改为true。然后,输出a。再去执行b方法。此时,再次去调用l 阅读全文

posted @ 2018-08-02 08:04 pony1223 阅读(286) 评论(0) 推荐(0) 编辑

Java并发编程原理与实战十四:Lock接口的认识和使用

摘要: 保证线程安全演进: synchronized volatile AtomicInteger Lock接口提供的方法: void lock():加锁 void unlock():解锁 void lockInterruptibly():在多个线程并发获取锁的时候,那么,当有些线程拿不到锁时会等待,会不停 阅读全文

posted @ 2018-08-02 08:00 pony1223 阅读(274) 评论(0) 推荐(0) 编辑

Java并发编程原理与实战十三:JDK提供的原子类原理与使用

摘要: 原子更新基本类型 原子更新数组 原子更新抽象类型 原子更新字段 原子更新基本类型: 运行结果: 运行结果: 对CAS的源码理解:--初步理解 在AtomicInteger中有这样一段源码: 其中,compareAndSwap就是CAS的缩写。如果prev和next不相等,则返回true。否则,返回f 阅读全文

posted @ 2018-08-02 07:57 pony1223 阅读(240) 评论(0) 推荐(0) 编辑

导航