1. 快速开始 1.1概述: Zookeeper是Hadoop的一个子项目,它是分布式系统中的协调系统,可提供的服务主要有:配置服务、名字服务、分布式同步、组服务等。 1.2 使用常见 1.2.1 统一配置 把配置放在ZooKeeper的节点中维护,当配置变更时,客户端可以收到变更的通知,并应用最新 ...
分类:
其他好文 时间:
2019-01-20 15:57:59
阅读次数:
170
简介 当两个进程在执行任务的时候,A调用了B,A需要等待B完成以后的通知,我们可以使用curator的屏障功能来实现。 官方文档:http://curator.apache.org/curator-recipes/barrier.html JavaDoc:http://curator.apache. ...
分类:
其他好文 时间:
2019-01-13 23:31:27
阅读次数:
303
同步工具类可以是任何一个对象。阻塞队列可以作为同步工具类,其他类型的同步工具类还包括信号量(Semaphore)、栅栏(Barrier)、以及闭锁(Latch)。 所有的同步工具类都包含一些特定的结构化属性:它们封装了一些状态,这些状态将决定执行同步工具类的线程是继续执行还是等待,此外还提供了一些方 ...
分类:
其他好文 时间:
2019-01-10 22:53:49
阅读次数:
186
原文链接 : http://www.cnblogs.com/dolphin0520/p/3920397.html ...
分类:
编程语言 时间:
2019-01-03 20:43:16
阅读次数:
140
[TOC] 目标: 优先寻找无障碍的路径 目标不可达时,寻找障碍最少的路径 路径长度相等时,优先转弯最少的路径 多个目标点时,根据以上要求到达其中一个目标点即可 要点: 最优格子的选取,先对open list排序,然后从open list中出队 源码: ...
分类:
其他好文 时间:
2018-12-20 22:20:34
阅读次数:
287
内存模型 线程间通信 Java线程间的通信方式一般有共享内存及消息两种方式,其中消息通信一般为传统的wait()和notify()方法来实现线程间的显式通信。而另外一种则是采用共享内存来实现隐式通信。 内存模型概述 在Java内存模型(JMM)中,大致如下图所示: ?? (1)、线程A将本地变更的副 ...
分类:
编程语言 时间:
2018-12-13 13:17:21
阅读次数:
170
1. 为什么用volatile? C/C++ 中的 volatile 关键字和 const 对应,用来修饰变量,通常用于建立语言级别的 memory barrier。这是 BS 在 "The C++ Programming Language" 对 volatile 修饰词的说明: A volatil ...
分类:
编程语言 时间:
2018-12-03 19:53:38
阅读次数:
315
使用ConstraintLayout后我们的布局是没有层级关系的,各个View之间都是平级关系,但是如果根据某个业务条件来控制多个View的显示与否,我们需要分别对每个View进行控制,需要调用多次setVisibility()。这样就显得非常不方便。 本文所介绍的Group就是解决这个问题的。 G ...
分类:
移动开发 时间:
2018-12-03 15:23:17
阅读次数:
182
本文我们来介绍障碍线(Barrier)的使用,平常在开发中用的相对要少一些,但是在需要时会非常方便。它的作用是将多个元素放到这个障碍线里面使时,其中的任何元素的大小或位置变化时都会使它的位置进行改变。可以理解成一面墙,"墙"里面任何元素的位置或大小改变时都会导致它的改变,从而保证所有的元素都在"墙"里面。下面我们来举例进行说明,会更加直观。首先,我们先创建两
分类:
移动开发 时间:
2018-11-29 18:09:13
阅读次数:
291