悲观锁(Pessimistic Lock), 顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。...
分类:
其他好文 时间:
2014-07-09 13:08:13
阅读次数:
138
文件锁有两种:共享锁和排他锁,也就是读锁(LOCK_SH)和写锁(LOCK_EX)文件的锁一般这么使用:$fp=fopen("filename","a");flock($fp,LOCK_SH)ordie("lockerror")$str=fread($fp,1024);flock($fp,LOCK_...
分类:
Web程序 时间:
2014-07-07 10:16:37
阅读次数:
283
using System.Collections.Generic;using System.Threading;namespace CSharpUtilHelpV2{ /// /// 基于.NET 2.0的对于Dictionary线程安全操作工具类 /// 说明 /// 默认读锁超时1000毫秒 /...
分类:
Web程序 时间:
2014-06-27 20:10:33
阅读次数:
359
为了提高性能,Java提供了读写锁,在读的地方使用读锁,在写的地方使用写锁,灵活控制,如果没有写锁的情况下,读是无阻塞的,在一定程度上提高了程序的执行效率。Java中读写锁有个接口java.util.concurrent.locks.ReadWriteLock,也有具体的实现ReentrantRea...
分类:
其他好文 时间:
2014-06-11 13:31:23
阅读次数:
354
ReentrantReadWriteLock是一个读写锁,它提供了一个读锁和一个写锁,读锁用于只读操作,而写锁用于写入操作,读操作可以并行进行,而写操作则是互斥的。读锁和写锁的分离在一些写少读多的应用中可以带来性能上的提升,例如:一个hashmap在构造之后很少修改,却经常进行查找操作,这样查找操作就可以并发进行从而提高性能。这篇文章首先为你介绍读写锁的基本特性,在具体应用中需要解决的问题,然后介...
分类:
其他好文 时间:
2014-05-21 16:09:03
阅读次数:
304
连接管理器: 接受请求 创建线程 认证用户 建立安全连接并发控制: mbox:MDA C/S:
100 10分钟: 多版本并发控制: MVCC锁: 读锁:共享锁 写锁:独占锁 LOCK TABLES tb_name {READ|WRITE}; UNLOCK
TABLES...
分类:
数据库 时间:
2014-05-15 17:29:22
阅读次数:
423
1、采用queue,而不是采用list遍历2、添加两个锁,读锁和写锁
分类:
编程语言 时间:
2014-05-07 14:07:12
阅读次数:
223