悲观锁(Pessimistic Lock), 顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。乐观锁(Opt...
分类:
其他好文 时间:
2015-07-16 02:06:56
阅读次数:
152
1 import java.util.Random; 2 import java.util.concurrent.locks.ReadWriteLock; 3 import java.util.concurrent.locks.ReentrantReadWriteLock; 4 /** 5 * .....
分类:
编程语言 时间:
2015-07-13 13:43:24
阅读次数:
186
故障现象:1. 开机有声音2. 背面logo亮灯3. 键盘背光灯不亮4. 大写锁定键按下不亮5. 屏幕黑屏,无苹果logo解决:重置PRAM后成功开机。1. 关闭 Mac。2. 在键盘上找到以下按键:Command (?)、Option、P 和 R。您需要在步骤 4 中同时按住这些键。3. 启动电脑...
分类:
系统相关 时间:
2015-07-12 10:58:07
阅读次数:
983
ReaderWriterLock类 通常来讲,一个类型的实例对于并行的读操作是线程安全的,但是并行地根性操作则不是(并行地读和更新也不是)。 这对于资源也是一样的,比如一个文件。当保护类型的实例安全时,使用一个简单的排它锁即解决问题,但是当有很多的读操作而偶然的更新操作这就很不合理的限制了并发。一....
分类:
其他好文 时间:
2015-07-12 10:57:07
阅读次数:
104
进程读写锁Pthread_rwlockattr_setshared, 当将process-shared属性设为Pthread_process_shared时,可以得到一个进程间的读写锁,如果process-shared属性设为pthread_process_private, 那么能操作这个读写锁的线...
分类:
系统相关 时间:
2015-07-12 00:09:05
阅读次数:
345
准备工作1.对失去响应进程创建转储文件2.配置该进程的pdb文件3.复制该进程所在机器的系统dll(sos.dll, clr.dll, mscordacwks.dll)4.配置系统dll的pdb文件路径, 或者直接从msdl.microsoft/download/symbols下载(注意端口是否被封)分析过程:1.利用~*e !clrstack得到UI线程的ID 为122.利用~12e !cl...
http://my.oschina.net/20076678/blog/173165一、在JDK文档中关于读写锁的相关说明ReadWriteLock 维护了一对相关的锁,一个用于只读操作,另一个用于写入操作。只要没有 writer,读取锁可以由多个 reader 线程同时保持。写入锁是独占的。所有 ...
分类:
其他好文 时间:
2015-07-09 00:36:28
阅读次数:
204
读写锁读写锁适合于对数据结构的读次数比写次数多得多的情况.因为,读模式锁定时可以共享,以写 模式锁住时意味着独占,所以读写锁又叫共享-独占锁.初始化和销毁:#include int pthread_rwlock_init(pthread_rwlock_t *restrict rwlock, cons...
分类:
其他好文 时间:
2015-07-09 00:28:06
阅读次数:
357
内容:读锁时共享的,写锁时互斥的(可见运行结果),都是通过AQS实现的。
public class ReentrantReadWriteLockTest {
static class MyObject {
private Object object;
private ReadWriteLock lock = new ReentrantReadWriteLock();
pu...
分类:
编程语言 时间:
2015-07-07 22:49:41
阅读次数:
204
读写锁的分配规则如下:1. 只要没有线程持有某个指定的读写锁用于写,那么任意数目的线程可以持有该读写锁用于读;2. 仅当没有线程持有某个指定的读写锁用于读或者用于写,才能分配读写锁用于写。这样的访问方式也称为共享-独占上锁(shared-exclusion)那么我想到了这样一个场景:线程A要写数据,...
分类:
系统相关 时间:
2015-07-07 12:55:00
阅读次数:
137