摘要: 一致性Hash 分析和实现 title: 1.一致性Hashdate: 2018-02-05 12:03:22categories:- 一致性Hash 一下分析来源于网络总结:算法参照自己实现,共参考和指正。 一致性Hash算法背景 一致性哈希算法在1997年由麻省理工学院的Karger等人在解决分 阅读全文
posted @ 2018-11-22 18:15 花神47699 阅读(285) 评论(0) 推荐(0) 编辑
摘要: 并发编程--锁-介绍 LOCK ReentrantLock Condition ReentrantReadWriteLock 1. LOCK(计时器) 介绍 从Java 5之后,在java.util.concurrent.locks包下提供了另外一种方式来实现同步访问,那就是Lock。 既然都可以通 阅读全文
posted @ 2018-11-20 16:03 花神47699 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 并发编程--Concurrent-工具类介绍 并发编程--Concurrent-工具类介绍 CountDownLatch CylicBarrier Semaphore Condition 对象监视器下个篇幅引入 Callable 不单独说明 Demo中会使用 Future Java 5 添加了一个新 阅读全文
posted @ 2018-11-20 15:42 花神47699 阅读(375) 评论(0) 推荐(0) 编辑
摘要: 并发编程线程池 合理利用线程池能够带来三个好处。 第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。 第二:提高响应速度。当任务到达时,任务可以不需要的等到线程创建就能立即执行。 第三:提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳 阅读全文
posted @ 2018-11-20 15:31 花神47699 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 并发编程--多线程设计模式 - 生产者-消费者模式 1. 生产者-消费者模式 生产者和消费者也是一个非常经典的多线程模式,我们在实际中开发应用非常广泛的思想理念。在生产-消费模式中:通常由两类线程,即若干个生产者和若干个消费者的线程。 生产者负责提交用户数据,消费者负责具体处理生产者提交的任务,在生 阅读全文
posted @ 2018-11-20 15:23 花神47699 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 多线程设计模式 - Master-Worker模式 并发设计模式属于设计优化的一部分,它对于一些常用的多线程结构的总结和抽象。与串行相比并行程序结构通常较为复杂,因此合理的使用并行模式在多线程并发中更具有意义。 1. Master-Worker模式 - Master-Worker模式是常用的并行模式 阅读全文
posted @ 2018-11-20 15:21 花神47699 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 多线程设计模式 - Future模式 并发设计模式属于设计优化的一部分,它对于一些常用的多线程结构的总结和抽象。与串行相比并行程序结构通常较为复杂,因此合理的使用并行模式在多线程并发中更具有意义。 1. Future Future模式是多线程开发中非常常见的一种设计模式,它的核心思想是异步调用。 这 阅读全文
posted @ 2018-11-20 15:20 花神47699 阅读(258) 评论(0) 推荐(0) 编辑
摘要: 并发编程--Queue Queue - 非阻塞队列 - 阻塞队列 Queue是一种特殊的线性表,它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。 在队列这种数据结构中,最先插入的元素 阅读全文
posted @ 2018-11-20 15:13 花神47699 阅读(232) 评论(0) 推荐(0) 编辑
摘要: 并发编程--同步类容器和并发类容器 同步类容器: - Vector - HashTable 并发类容器 - ConcurrentMap - CopyOnWrite 同步类容器: * 同步类容器 都是线程安全的,但是在某些场景下可能需要加锁来保护复合操作。复合类操作如:迭代(反复访问元素,遍历容器中所 阅读全文
posted @ 2018-11-20 15:03 花神47699 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 并发编程--单例模式(饥饿模式-懒汉模式) 1. 单例模式: - 最常见的单例模式:饥饿模式-懒汉模式; 1. 饥饿模式:直接实例化对象; 2. 懒汉模式:调用方法时进行实例化对象。 - 还有一种经典做法:在多线程模式中,一般选择如下几种单例模式: 1. dubble check instance: 阅读全文
posted @ 2018-11-20 14:55 花神47699 阅读(785) 评论(0) 推荐(0) 编辑