集合是编程中最常用的数据结构。而谈到并发,几乎总是离不开集合这类高级数据结构的支持。比如两个线程需要同时访问一个中间临界区(Queue),比如常会用缓存作为外部文件的副本(HashMap)。这篇文章主要分析jdk1.5的3种并发集合类型(concurrent,copyonright,queue)中的...
分类:
编程语言 时间:
2014-09-01 12:00:53
阅读次数:
359
//构建队列#includeusing namespace std;struct queuenode{int data;queuenode* next;};class queue{private:queuenode* head;public:queue(){head=new queuenode;he...
分类:
编程语言 时间:
2014-09-01 10:29:32
阅读次数:
205
1、%% 普通队列操作 in(X, 0, {queue, [_] = In, [], 1}) ->{queue, [X], In, 2}; in(X, 0, {queue, In, Out, Len}) when is_list(In), is_list(Out) -> {queue, [X|In], Out, Len + 1}; 优先级队列操作: in(X, ...
分类:
其他好文 时间:
2014-08-31 23:08:32
阅读次数:
562
Python 多线程 -thread threading Queue- 简单学习在实际工作过程中,会出现需要并发的做一些事情,例如一台机器测到几千台机器的网络连通性,如果你单线程一台一台测的话,会花费很多的事情,不具有实时性,更不能在变化的时候立刻感知当时网络的状况,这时多线程就是一个很好地选择。p...
分类:
编程语言 时间:
2014-08-31 14:28:31
阅读次数:
330
通常我们会用数组去保存一些基本数据类型,数组是编译器支持的类型,但是数组的一个明显缺点就是具有固定尺寸,而在一般情况下,只有在程序运行的时候,我们才能知道要保存的具体数目。
Java类库提供了一套相当完善的容器框架(Collections Framework)来解决这个问题。其中基本的类型是List、Set、Queue和Map。这些对象类型也被称为集合类,但是由于Java中使用了Collection这个名称指代该类库的一个子集,所以一般使用更广泛的术语“容器”来称呼它们。
容器的基本任务是保存对象,更准确的...
分类:
编程语言 时间:
2014-08-31 09:19:31
阅读次数:
312
再Java里的某些集合类,其实是实现了多个接口的,所以就会同时又多种方法针对同一种操作,比如LinkedList类。首先看一下java集合类的继承关系图:这里简单对其重复的方法做点简单的区分。offer,add区别:一些队列有大小限制,因此如果想在一个满的队列中加入一个新项,多出的项就会被拒绝。这时...
分类:
编程语言 时间:
2014-08-31 01:37:20
阅读次数:
547
??
1.stack,size(),empty(),pop()函数
#include
#include
using
namespace
std;
//通过push()方法入栈
//通过size()方法求栈中元素的个数
//通过empty()方法判断栈是否为空
//通过pop()求栈中最顶端的元素
void
main...
分类:
其他好文 时间:
2014-08-30 23:08:10
阅读次数:
252
Enemy Double Queue!
题目大意:维护一种数据结构,支持以下操作:
1.插入一个值
2.查询最大值并删除
3.查询最小值并删除
元素的值
这数据结构一看就是堆。。。不过堆结构不能同时维护最大值和最小值,于是我们开两个堆,一个大根堆,一个小根堆
其中一堆删除时,另一堆也要删除相应元素
于是删除的话有两种方法
1.映射 1000W开数组映射妥妥MLE 于是我们在两个堆...
分类:
其他好文 时间:
2014-08-29 18:28:18
阅读次数:
277
Grand Central Dispatch(GCD)是异步执行任务的技术之一。一般将应用程序中记述的线程管理用的代码在系统级中实现。开发者只需要定义想执行的任务并追加到适当的Dispatch Queue中,GCD就能生成必要的线程并计划执行任务。由于线程管理是作为系统的一部分来实现的,因此可统一管理,也可执行任务,这样就比以前的线程更有效率。...
分类:
移动开发 时间:
2014-08-29 16:08:18
阅读次数:
215
Rabbitmq集群高可用RabbitMQ是用erlang开发的,集群非常方便,因为erlang天生就是一门分布式语言,但其本身并不支持负载均衡。Rabbit模式大概分为以下三种:单一模式、普通模式、镜像模式单一模式:最简单的情况,非集群模式。没什么好说的。普通模式:默认的集群模式。对于Queue来...
分类:
其他好文 时间:
2014-08-29 12:28:07
阅读次数:
366