码迷,mamicode.com
首页 >  
搜索关键字:locks    ( 533个结果
线程Lock
线程Lock   在上一篇文章中我们讲到了如何使用关键字synchronized来实现同步访问。本文我们继续来探讨这个问题,从Java 5之后,在java.util.concurrent.locks包下提供了另外一种方式来实现同步访问,那就是Lock。   也许有朋友会问,既然都可以通过synchronized来实现同步访问了,那么为什么还需要提供Lock?这个问题将在下面进行阐述。本...
分类:编程语言   时间:2016-05-12 17:08:08    阅读次数:270
JUC源码分析9-locks-ReentrantLock
ReentrantLock可重入锁,使用比synchronized方便灵活,可作为替代使用: 1.支持公平/不公平锁; 2.支持响应超时,响应中断; 3.支持condition; ReentrantLock实现了Lock接口,内部使用static类继承AQS实现独占式的api来实现这些功能,使用AQS的state来表示锁可重入次数: 之前学习AQS的时候说过请求和rele...
分类:其他好文   时间:2016-05-12 14:47:41    阅读次数:189
JUC源码分析8-locks-AQS-condition
AQS的conditionObject实现类似object的wait/notify/notify的功能,功能大概是: 1.object维护一个监视器和一个等待队列,condition对于一个lock可以有多个condition,对于每个condition维护一个条件队列; 2.提供wait/signal/signalall功能。 来个入门demo: public class Conditi...
分类:其他好文   时间:2016-05-12 14:41:04    阅读次数:217
JUC源码分析10-locks-CountDownLatch
上一次学习了ReetrantLock,是对AQS独占模式的,这次学习CountDownLatch,是共享模式api的实现。人生不死,学无止境。先看个demo吧: import java.util.concurrent.CountDownLatch; public class CountDownLatchTest { private static CountDownLatch ...
分类:其他好文   时间:2016-05-12 12:25:20    阅读次数:173
分布式锁 ----zookeeper实践 (排它锁)
排它锁概念: Exclusive Locks,被称为X锁,写锁,独占锁.如果事物T1对数据对象O1加上了排它锁,那么在整个加锁期间,只允许事务T1对O1进行读写操作,其他事务必须等到T1释放锁后才能进行操作.在单机环境中,JDK提供了synchronized关键字和ReentrantLock 重用锁 ...
分类:其他好文   时间:2016-05-10 09:42:42    阅读次数:147
JUC源码分析7-locks-AQS-共享模式
AQS中一定要记住2点: 1.处理流程: if(!请求成功) 加入队列 2.请求是对state的判断,AQS不关心你state表示什么,你可以表示状态也可以表示数量,由子类实现对请求的判断。将规则的判断和规则的处理分离,有点像模板模式。 先想想什么是独占什么是共享,举个栗子:独占就像大家拿号去排队体检,你拿号了发现前面还有n个人,没办法,等吧,然后你前面的人体检完了,医生就说,你通知下一...
分类:其他好文   时间:2016-05-07 10:05:20    阅读次数:133
JUC源码分析6-locks-AQS-独占模式
AbstractQueuedSynchronizer(下面简称AQS),javadoc说明: Provides a framework for implementing blocking locks and related synchronizers (semaphores, events, etc) that rely on  first-in-first-out (FIFO) wait que...
分类:其他好文   时间:2016-05-07 09:11:08    阅读次数:240
java线程通讯——使用Lock和Condition代替synchronized 和 wait, notify notifyAll()
Lock 实现提供了比使用 synchronized 方法和语句可获得的更广泛的锁定操作。 此实现允许更灵活的结构,可以具有差别很大的属性,可以支持多个相关的 Condition 对象。 使用生产者和消费者为例!!!import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.Lock; i...
分类:编程语言   时间:2016-05-07 07:28:48    阅读次数:176
Lucene5学习之LuceneUtils工具类简单封装
花了整整一天时间,将Lucene5中有关索引的常见操作进行了简单封装,废话不多说,上代码: package com.yida.framework.lucene5.util; import java.io.IOException; import java.util.concurrent.ExecutorService; import java.util.concurrent.locks.Lock...
分类:Web程序   时间:2016-05-03 18:12:05    阅读次数:193
【MySQL笔记】mysql报错"ERROR 1206 (HY000): The total number of locks exceeds the lock table size"的解决方法
step1:查看1.1 Mysql命令行里输入“show engines;”查看innoddb数据引擎状态,1.2 show variables “%_buffer%”里查看innodb_buffer_pool_size的数值,默认是8M(太小,需要改大一点!)step2:找配置文件,修改innod... ...
分类:数据库   时间:2016-04-30 20:53:36    阅读次数:328
533条   上一页 1 ... 30 31 32 33 34 ... 54 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!