43B4A73YYJ-eyJsaWNlbnNlSWQiOiI0M0I0QTczWVlKIiwibGljZW5zZWVOYW1lIjoibGFuIHl1IiwiYXNzaWduZWVOYW1lIjoiIiwiYXNzaWduZWVFbWFpbCI6IiIsImxpY2Vuc2VSZXN0cmljdGl ...
分类:
其他好文 时间:
2016-11-21 19:19:41
阅读次数:
234
背景:客户端生活缴费选择省市,返回值是省市汉字以及ID,要求取省市区首字母按ABC排列,最终结果 首先是 .sort好像可以直接排序, dataJSON.sort(function(a,b){ return a.enProvinceName.localeCompare(b.enProvinceNam ...
分类:
Web程序 时间:
2016-11-15 17:04:35
阅读次数:
277
锁分为独占锁和共享锁,它们的主要实现都是依靠AbstractQueuedSynchronizer,这个类只提供一系列公共的方法,让子类来调用。基于我了解不深,从这个类的属性,方法,和独占锁的获取方式去了解这个类。 AbstractQueuedSynchronizer的主要属性和方法: 可以看出这个类 ...
分类:
其他好文 时间:
2016-11-13 16:15:55
阅读次数:
182
1.什么是AQS? AQS的核心思想是基于volatile int state这样的volatile变量,配合Unsafe工具对其原子性的操作来实现对当前锁状态进行修改。同步器内部依赖一个FIFO的双向队列来完成资源获取线程的排队工作。 2.同步器的应用 同步器主要使用方式是继承,子类通过继承同步器 ...
分类:
其他好文 时间:
2016-11-04 20:37:11
阅读次数:
259
最近实施了zabbix监控,开源软件杠杠的,甩nagios 好几条街…… 环境:centos6.6 + Zabbix 2.4.5 + Python 2.6.6 cd /usr/local/zabbix/share/zabbix/alertscripts #进入脚本存放目录vi SendAlertEm ...
分类:
编程语言 时间:
2016-11-04 17:17:49
阅读次数:
337
一、AQS简介AQS全称AbstractQueuedSynchronizer,是java并发包中的一个类,该类更像是一个框架,提供了一些模板方法供子类实现,从而实现了不同的同步器,如下图所示。ReentrantLock,ReentrantReadWriteLock,ThreadPoolExecutor这些常见类都使用了AQS。以下是AQS的成员变量:p..
分类:
其他好文 时间:
2016-09-27 11:54:38
阅读次数:
139
1.AbstractQueuedSynchronizer(以下简称AQS)是Java并发包提供的一个同步基础机制,是并发包中实现Lock和其他同步机制(如:Semaphore、CountDownLatch和FutureTask等)的基础。 2.AQS内部包含一个FIFO的同步等待队列,简单的说,没有 ...
分类:
其他好文 时间:
2016-08-21 15:18:19
阅读次数:
146
本文内容主要总结自《Java并发编程的艺术》第5章——Java中的锁。 一、AQS AbstractQueuedSynchronizer(简称AQS),队列同步器,是用来构建锁或者其他同步组建的基础框架。该类主要包括: 1、模式,分为共享和独占。 2、volatile int state,用来表示锁 ...
分类:
编程语言 时间:
2016-07-14 02:56:28
阅读次数:
273
本文首发在infoQ 作者:刘锟洋 前言 经过本系列的上半部分JDK1.8 AbstractQueuedSynchronizer的实现分析(上)的解读,相信很多读者已经对AbstractQueuedSynchronizer(下文简称AQS)的独占功能了然于胸,那么,这次我们再借助另一个工具类:Cou ...
分类:
编程语言 时间:
2016-07-09 13:25:05
阅读次数:
427
注:本文主要介绍了Condition和ReentrantLock工具实现独占锁的部分代码原理,Condition能在线程之间协调通信主要是AbstractQueuedSynchronizer和conditon内有两个队列用来切换,整个协作过程是靠结点在AQS的等待队列和Condition的等待队列中 ...
分类:
其他好文 时间:
2016-07-05 15:31:10
阅读次数:
206