ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等。Zookeeper是hadoop的一个子项目,其发展历程无需赘述。在分布式应用中,由于工程师不能很好地使用锁机制,以及基于消息的协调机制不适合在某些...
分类:
其他好文 时间:
2015-11-06 12:31:34
阅读次数:
171
http://www.infoq.com/cn/articles/java-memory-model-5 深入理解Java内存模型(五)——锁http://www.ibm.com/developerworks/cn/java/j-jtp10264/ Java 理论与实践: JDK 5.0 中更灵活、...
分类:
编程语言 时间:
2015-11-05 20:41:14
阅读次数:
242
转载 http://chenzhou123520.iteye.com/blog/1863407上一篇文章《MySQL悲观锁总结和实践》谈到了MySQL悲观锁,但是悲观锁并不是适用于任何场景,它也有它存在的一些不足,因为悲观锁大多数情况下依靠数据库的锁机制实现,以保证操作最大程度的独占性。如果加锁的时...
分类:
数据库 时间:
2015-11-05 15:03:22
阅读次数:
238
说到事务一定会提到ACID,所谓事务的原子性,一致性,隔离性和持久性。对于一个数据库而言,通常通过并发控制和故障恢复手段来保证事务在正常和异常情况下的ACID特性。sqlite也不例外,虽然简单,依然有自己的并发控制和故障恢复机制。Sqlite学习笔记(五)&&SQLite封锁机制 已经讲了一些.....
分类:
数据库 时间:
2015-10-25 22:08:26
阅读次数:
217
JDK1.5中将Lock接口代替synchronized升级为显示的锁机制,将Object中的wait、notify、notifyAll替换成了Condition对象中的await、signal、signalAll该对象可以通过Lock进行获取该示例中实现了本方线程只唤醒对方线程的操作import ...
分类:
其他好文 时间:
2015-10-25 12:04:38
阅读次数:
169
锁机制最大的改进之一就是ReadWriteLock接口和它的唯一实现类ReentrantReadWriteLock。这个类有两个锁,一个是读操作锁,另一个是写操作锁。使用读操作锁时可以允许多个线程同时访问,但是使用写操作锁时只允许一个线程进行。在一个线程执行写操作时,其他线程不能够执行读操作。 .....
分类:
其他好文 时间:
2015-10-24 17:08:16
阅读次数:
188
模拟场景:main方法为网络请求线程(也叫生产者线程),在网络请求线程中开启四个线程(消费者线程),进行高效处理队列中的共同资源(生产者线程生产的共同资源),等待资源处理完毕,网络请求线程执行结束,响应客户端。消费者线程体 1 /** 2 * 3 */ 4 package com.be...
分类:
编程语言 时间:
2015-10-22 12:30:15
阅读次数:
225
背景用vim命令处理一些超大文件时,有时会遇到卡死现象,不得不强制退出。但是,再次用vim命令访问这个文件时,会出现“E325:ATTENTION”提示。如果不做处理,以后每次都会出现。分析经过一番查证,此提示是vim程序对文件的一种保护机制(或锁机制)。当我们用vim命令打开一个文件时,会自动生成...
分类:
系统相关 时间:
2015-10-21 12:25:51
阅读次数:
492
乐观锁( Optimistic Locking ) 相对悲观锁而言,乐观锁机制采取了更加宽松的加锁机制。悲观锁大多数情况下依靠数据库的锁机制实现,以保证操作最大程度的独占性。但随之而来的就是数据库性能的大量开销,特别是对长事务而言,这样的开销往往无法承受。而乐观锁机制在一定程度上解决了这个问题。乐观...
分类:
其他好文 时间:
2015-10-18 21:15:25
阅读次数:
225
原文地址:http://www.uml.org.cn/sjjm/201205302.asp00 – 基本概念当并发事务同时访问一个资源的时候,有可能导致数据不一致。因此需要一种致机制来将访问顺序化。锁就是其中的一种机制。我们用商场的试衣间来做一个比喻。试衣间供许多消费者使用。因此可能有多个消费者同时...
分类:
数据库 时间:
2015-10-17 12:04:02
阅读次数:
316