这里利用zookeeper的EPHEMERAL_SEQUENTIAL类型节点及watch机制,来简单实现分布式锁。
主要思想:
1、开启10个线程,在disLocks节点下各自创建名为sub的EPHEMERAL_SEQUENTIAL节点;
2、获取disLocks节点下所有子节点,排序,如果自己的节点编号最小,则获取锁;
3、否则watch排在自己前面的节点,监听到其删除后,进入第2步(重...
分类:
其他好文 时间:
2014-11-19 14:09:43
阅读次数:
171
//获取元素子节点 function getChild(parent) { var childs = parent.childNodes, result = []; for (var i = 0; cl = childs.length, i < cl; i++) { ...
分类:
其他好文 时间:
2014-11-19 10:46:27
阅读次数:
172
解决的问题:
我们PC用到的文件系统,其实就是我们数据结构里的树形结构,我们处理树中的每个节点时,其实不用考虑他是叶子节点还是根节点,因为他们的成员函数都是一样的,这个就是组合模式的精髓。他模糊了简单元素和复杂元素的概念,客户程序可以向处理简单元素一样来处理复杂元素,从而使得客户程序与复杂元素的内部结构解耦。
将对象组合成树形结构以表示“部分-整体”的层次结构。组合模式使得用户对单个对...
分类:
其他好文 时间:
2014-11-17 17:46:26
阅读次数:
230
(一)从上往下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。【层次遍历】 从上到下打印二叉树的规律:每一次打印一个节点的时候,如果该节点有子节点,则把该节点的子节点放到一个队列的末尾。...
分类:
其他好文 时间:
2014-11-16 20:14:43
阅读次数:
231
dom4j中,使用Element.attributes方法可以获取到节点的属性,而使用elements则可以获取相应的子节点
比如:
Element?root?=?doc.getRootElement();
List?attrList?=?root.attributes();
for?(int?i?=?0...
分类:
其他好文 时间:
2014-11-16 02:09:04
阅读次数:
160
咩~成绩还没有出来呢!但是拿到了每个人的程序,还有一堆民间的数据。我测了好多不同的数据,基本上D1T1,D2T1,D2T2的都是暴力解决掉的,没有什么问题,唯一就是D1T2的link那一题,写的时候2了、、虽然用的是线性的算法但是中间算子节点的权值我懒得推式子,直接暴力O(n^2)计算了。我考场上还...
分类:
其他好文 时间:
2014-11-13 20:23:12
阅读次数:
250
题目链接:Codeforces 486D Valid Sets
题目大意:给定一棵树,每个节点有个权值,现在要选定一些节点,要求非空,并且maxVal-minVal不大于d。问说有多
少种选择方法。
解题思路:枚举每个节点作为根节点,默认根节点为权值最大的节点,然后各个孩子节点用乘法原理即可。
#include
#include
#include
#include
u...
分类:
其他好文 时间:
2014-11-13 14:49:38
阅读次数:
185
Ext中导航树的创建有两种方式:1、首先将所有的数据读出来,然后绑定到前台页面。2、每点击一个节点展开后加载子节点。在数据量比较小的时候使用第一种方式加载的会快一些,然而当数据量比较大的时候,我还是建议使用第二种方式的。这里我就来介绍一下第二种树的展示方式。源码..
分类:
Web程序 时间:
2014-11-13 13:06:59
阅读次数:
210
Ext中导航树的创建有两种方式:1、首先将所有的数据读出来,然后绑定到前台页面。2、每点击一个节点展开后加载子节点。在数据量比较小的时候使用第一种方式加载的会快一些,然而当数据量比较大的时候,我还是建议使用第二种方式的。这里我就来介绍一下第二种树的展示方式。源码..
分类:
Web程序 时间:
2014-11-13 13:05:42
阅读次数:
148
Ext中导航树的创建有两种方式:1、首先将所有的数据读出来,然后绑定到前台页面。2、每点击一个节点展开后加载子节点。在数据量比较小的时候使用第一种方式加载的会快一些,然而当数据量比较大的时候,我还是建议使用第二种方式的。这里我就来介绍一下第二种树的展示方式。源码..
分类:
Web程序 时间:
2014-11-13 13:05:32
阅读次数:
171