悲观锁(Pessimistic Lock), 顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。 乐观锁(Op ...
分类:
其他好文 时间:
2017-06-06 14:18:59
阅读次数:
180
Java并发包的locks包里的锁基本上已经介绍得差不多了,ReentrantLock重入锁是个关键,在清楚的了解了同步器AQS的运行机制后,实际上再分析这些锁就会显得容易得多,这章节主讲另外一个重要的锁——ReentrantReadWriteLock读写锁。 ReentrantLock是一个独占锁 ...
分类:
其他好文 时间:
2017-06-05 00:22:04
阅读次数:
236
目录 1.synchronized同步锁 2.ReentrantLock重入锁 3.ReadWriteLock读写锁 4.StampedLock戳锁(目前没找到合适的名字,先这么叫吧...) 5.总结 正文分割线 为了更好的支持并发程序,JDK内部提供了多种锁。本文总结4种锁。 1.synchron ...
分类:
其他好文 时间:
2017-06-01 19:30:53
阅读次数:
1725
原文:http://blog.csdn.net/luoweifu/article/details/46701167 作者:luoweifu 转载请标名出处 线程优先级 现在主流操作系统(如Windows、Linux、Mac OS X)的任务调度除了具有前面提到的时间片轮转的特点外,还有优先级调度(P ...
分类:
编程语言 时间:
2017-06-01 18:42:07
阅读次数:
270
MVCC:Multi-Version Concurrency Control 多版本并发控制。笔者用自己的话对MVCC做一个总结:通过某个时间点上的数据快照对数据的版本控制,目的是为了避免使用各种锁影响并发性能 ●MySQL锁机制 说到锁,MySQL里提供了几种锁机制 读写锁 表锁 (MYISAM使 ...
分类:
数据库 时间:
2017-05-30 19:36:34
阅读次数:
312
非阻塞I/O 调用 fcntl() 设置文件描述符 O_NONBLOCK 标志,调用 read() 和 write() 不再阻塞,有可能会返回 -1 并设置 errno 为 EAGAIN。 记录锁(字节锁) 用于锁住文件的某一部分,支持读锁和写锁。由于锁信息 lockf_entry 和 v-node ...
分类:
其他好文 时间:
2017-05-27 21:51:10
阅读次数:
230
/** * * @描述: 读写锁:分为读锁和写锁,多个读锁不互斥,读锁与写锁互斥,写锁与写锁互斥,这是由JVM自己控制的,可以同时读,但不能同时写 那就上读锁; * 如果你的代码只读数据,可以有很多人同时读,但不能同时写那就上读锁. * 如果你的代码修改数据,只能有一个人在写,且不能同时写,那就上写... ...
分类:
其他好文 时间:
2017-05-25 11:41:50
阅读次数:
162
乐观锁和悲观锁 悲观锁(Pessimistic Lock), 顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁 ...
分类:
Web程序 时间:
2017-05-22 09:25:59
阅读次数:
184
http://www.cnblogs.com/mydomain/archive/2011/09/14/2175351.html 原理: 地址空间:一个连续的内存地址单元 物理地址空间:物理内存地址组成的地址空间,其空间大小与物理内存一致。 虚拟地址空间:CPU MMU 提供的功能,可将虚地址转换为物 ...
分类:
其他好文 时间:
2017-05-20 01:05:53
阅读次数:
207
读写锁:多个读锁不互斥,读锁与写锁互斥,写锁与写锁互斥。即:读的时候不允许写,写的时候不允许读,可以同时读。 synchronized关键字和普通的Lock构造的锁,会造成读与读之间的互斥,因此读写锁可提高性能。 例子1:三个线程同时对一个共享数据进行读写。 1 import java.util.R ...
分类:
其他好文 时间:
2017-05-18 12:36:43
阅读次数:
305