摘要: 死锁:两个线程互相等待对方释放锁才可以继续运行。 避免死锁的常见方法: 1.避免一个线程同时获取多个锁 2.避免一个线程在锁内同时占用多个资源,尽量保证一个锁只占用一个资源 3.尝试使用定时锁,使用lock.tryLock(timeout)来替代使用内部锁机制 4.对于数据库,加锁个解锁必须在一个数 阅读全文
posted @ 2019-04-01 14:30 audience7510 阅读(102) 评论(0) 推荐(0)
摘要: 1 AQS简单介绍 AQS是一个用来构建锁和同步器的框架,比如Reentrantlock、Semaphore、ReentrantReadWriteLock、FutureTask等都是基于AQS的。我们自己也可以利用AQS非常轻松容易的构造出符合我们自己需求的同步器。 2 AQS原理 AQS核心思想是 阅读全文
posted @ 2019-04-01 10:55 audience7510 阅读(203) 评论(0) 推荐(0)
摘要: 1 JDK提供的并发容器总结 2 ConcurrentHashMap 3 CopyOnWriteArrayList 4 ConcurrentLinkedQueue 5 BlockingQueue 阅读全文
posted @ 2019-04-01 10:49 audience7510 阅读(90) 评论(0) 推荐(0)
摘要: 1 Atomic原子类介绍 2 基本类型原子类 3 数组类型原子类 4 引用类型原子类 5 对象的属性修改类型原子类 阅读全文
posted @ 2019-04-01 10:42 audience7510 阅读(125) 评论(0) 推荐(0)
摘要: 乐观锁与悲观锁 阅读全文
posted @ 2019-04-01 10:39 audience7510 阅读(107) 评论(0) 推荐(0)