摘于:http://my.oschina.net/leejun2005/blog/135085 目录:[ - ] 1、认识 PriorityQueue 2、应用:求 Top K 大/小 的元素 3、PriorityQueue 在 hadoop 中的应用: 4、REF: 1、认识 PriorityQu ...
分类:
其他好文 时间:
2018-08-14 22:51:03
阅读次数:
335
模型如下: 服务器: 客户端: 这个模型下所有进程统一通过队列通信,队列的大小有限制,而且这些进程既从这个队列读又往这个队列写,操作时无序的,很容易造成队列满或者队列空,所以当进程数很多时容易发生阻塞。 可以改进为如下的模型: 每来一个客户端,就fork一个进程,让这个进程和客户端通信。 监控模型: ...
分类:
其他好文 时间:
2018-08-05 20:22:17
阅读次数:
156
通过阻塞队列实现生产者和消费者异步解耦。 它的确是一种实用的设计模式,常用于编写多线程或并发代码。下面是它的一些优点: 它简化的开发,你可以独立地或并发的编写消费者和生产者,它仅仅只需知道共享对象是谁 生产者不需要知道谁是消费者或者有多少消费者,对消费者来说也是一样 生产者和消费者可以以不同的速度执... ...
分类:
其他好文 时间:
2018-07-31 17:04:01
阅读次数:
187
实现思想:对于A,B两个栈,A作为压栈,B作为弹出栈。push操作时,将结果压入A栈,并且判断B栈是否为空,如果为空,则将A栈的元素全部移动到B栈pop操作时,判断A,B栈是否为空,如果同时为空,则跑抛出异常,如果不同时为空,判断B栈是否有元素。如果没有元素,则将A栈中元素全部移动到B栈中,进行弹出 ...
分类:
其他好文 时间:
2018-07-29 00:08:06
阅读次数:
136
最近做了不少的搜索题,时而用到DFS时而用到BFS,这里对两种搜索方法做一个总结。 广度优先搜索算法(Breadth-First-Search,缩写为 BFS),是一种利用队列实现的搜索算法。简单来说,其搜索过程和 “湖面丢进一块石头激起层层涟漪” 类似。 先搜索邻居,搜完邻居再搜邻居的邻居。 其中 ...
分类:
其他好文 时间:
2018-07-21 21:23:35
阅读次数:
1629
一、队列实现栈 二、栈实现队列 结果自行运行测试 ...
分类:
编程语言 时间:
2018-07-18 16:57:47
阅读次数:
136
一 multiprocessing模块介绍 python中的多线程无法利用多核优势,如果想要充分地使用多核CPU的资源(os.cpu_count()查看),在python中大部分情况需要使用多进程。Python提供了multiprocessing。 multiprocessing模块用来开启子进程, ...
分类:
编程语言 时间:
2018-07-17 21:11:07
阅读次数:
160
一、线程池源码如下 1、阻塞任务队列 BlockingQueue public interface BlockingQueue<E> { boolean offer(E e); public E take();} 阻塞任务队列实现类 LinkedBlockingQueue import java.u ...
分类:
编程语言 时间:
2018-06-30 14:46:12
阅读次数:
166
1. 学习计划 1、什么是MQ 2、MQ的应用场景 3、ActiveMQ的使用方法。 4、使用消息队列实现商品同步。 2. 同步索引库分析 方案一:在manager(后台)中,添加商品的业务逻辑中,添加一个同步索引库的业务逻辑。 缺点:这样违背了服务单一职能的原则,业务逻辑耦合度高,业务拆分不明确。 ...
分类:
其他好文 时间:
2018-06-27 19:31:40
阅读次数:
260