读写锁的概念很简单,允许多个线程同时获取读锁,但同一时间只允许一个线程获得写锁,因此也称作共享-独占锁。 某些场合下,对一个对象的读取次数远远大于修改次数,如果只是简单的用lock方式加锁,则会影响读取的效率。而如果采用读写锁,则多个线程可以同时读取该对象,只有等到对象被写入锁占用的时候,才会...
分类:
其他好文 时间:
2015-06-03 11:36:30
阅读次数:
138
synchronized关键字代表这个方法加锁,相当于不管哪一个线 程A每次运行到这个法时,都要检查有没有其它正在用这个方法的线程B(或者C D等),有的话要等正在使用这个方法的线程B(或者C D)运行完这个方法后再运行此线程A,没有的话,直接运行 它包括两种用法:synchronized 方法和 ...
分类:
其他好文 时间:
2015-06-02 14:59:29
阅读次数:
103
with(nolock)是微软推荐使用的table hint,用于代替(nolock),使用with(nolock)是强制sql 引擎不要对数据加锁,提高查询的速度,但是有可能出现dirty data。当这两个table hint用于cte时,会出现不同的结果,以下代码使用with(nolock),...
分类:
其他好文 时间:
2015-06-02 13:15:37
阅读次数:
118
如下代码:运行结果:Thread-0 holds the locktrueException in thread "Thread-0" java.lang.IllegalMonitorStateException at java.lang.Object.notify(Native Method) a...
分类:
其他好文 时间:
2015-05-30 19:45:33
阅读次数:
152
MySql的锁有以下几种形式:
1. 表级锁;开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高 ,并发度最低。MyISAM引擎属于这种类型。
2. 行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突概率最低,并发度也最高。InnoDB引擎属于这种类型。
3. 页面锁:开销和加锁时间介于表锁和行锁之间;会出现死锁;锁定粒度也介于两者之间,并发度一般。NDB属于这种类型。...
分类:
数据库 时间:
2015-05-28 18:14:16
阅读次数:
193
内容:利用ReentrantReadWriteLock来包装Map,从而使它能在多个读线程之间被安全分享,并且仍然能避免“读-写”或“写-写”冲突。记住重要的一点是:读-写锁实现的加锁策略中,允许多个读操作同时进行,但每次只允许一个写操作。
public class ReadWriteMap {
private final Map map;
private final ReadWriteLo...
分类:
编程语言 时间:
2015-05-28 00:46:00
阅读次数:
170
单例类:主要知识点:1,单例类概念、特点2,三种单例类懒汉,饿汉,双重加锁举例,3,懒汉、饿汉区别以及单例类的总结;1,概念: java中单例模式是一种常见的设计模式,单例模式分三种:懒汉式单例、饿汉式单例、双重检查加锁单例三种。 单例模式有以下特点: 1、单例类只能有...
分类:
编程语言 时间:
2015-05-28 00:32:32
阅读次数:
136
实现多线程的方式以及优势: ????1、NSThread ????????轻量级最轻,但需要自己管理线程的生命周期和线程同步。线程同步对数据的加锁会有一定的系统消耗。 ????2、Cocoa NSOpertion(NSOpertion 和...
分类:
编程语言 时间:
2015-05-27 01:14:02
阅读次数:
322
1. 利用类对象进行同步
当两个线程访问同一个类对象时,发生竞争。同步加锁的是对象,而不是代码。
package thrds;
public class FiveThread {
public static void main(String args[])
{
ThTst obj = new ThTst();
Thread t1 = new Thread(obj)...
分类:
编程语言 时间:
2015-05-22 17:11:24
阅读次数:
191
iOS开发中不可避免的会遇到加锁的情况,今天就来比较一下各种加锁方式。目前我所知道的有如下几种加锁方式:
1. @synchronized 关键字加锁
2. NSLock 对象锁
3. NSCondition
4. NSConditionLock 条件锁
5. NSRecursiveLock 递归锁
6. pthread_mutex 互斥锁(C语言)
7. dispatch_sema...
分类:
移动开发 时间:
2015-05-18 16:49:56
阅读次数:
248