pthread_cond_wait在把线程放进阻塞队列后,自动对mutex进行解锁(它内部有自己维护一个队列),使得其他线程可以获得加锁的权利。这样其它线程才能对临界资源进行访问并在适当的时候唤醒这个阻塞的进程。当pthread_cond_wait返回的时候又会自动给mutex加锁,所以最后需要一个...
分类:
其他好文 时间:
2014-08-06 18:05:42
阅读次数:
260
一、SVN 中 clean up 的功能 ? ? ?当Subversion改变你的工作拷贝(或是.svn中的任何信息),它会尽可能的小心,在修改任何事情之前,它把意图写到日志文件中去,然后执行 log文件中的命令,并且执行过程中在工作...
分类:
其他好文 时间:
2014-08-05 14:29:39
阅读次数:
201
1、高级同步机制 使用synchronized关键词的问题在于加锁范围是固定的,无法把锁在对象之间进行传递,使用起来不灵活,但是也不容易出错。 (1)tryLock (2)ReadWriteLock (3)ReentrantLock 2、底层同步器 3、...
分类:
编程语言 时间:
2014-08-05 09:44:59
阅读次数:
246
读写锁的概念很简单,允许多个线程同时获取读锁,但同一时间只允许一个线程获得写锁,因此也称作共享-独占锁。在C#中,推荐使用ReaderWriterLockSlim类来完成读写锁的功能。某些场合下,对一个对象的读取次数远远大于修改次数,如果只是简单的用lock方式加锁,则会影响读取的效..
分类:
其他好文 时间:
2014-08-05 03:14:39
阅读次数:
271
读写锁 1、概述 读写锁与互斥量类似,不过读写锁允许更高的并行性。互斥量要么是锁住状态,要么是不加锁状态,而且一次只有一个线程对其加锁。读写锁可以有三种状态:读模式下加锁状态,写模式下加锁状态,不加锁状态。一次只有一个线程可以占有写模式的读写锁,但是多个线程可用同时占有读模式的读写锁。读写锁也叫做....
分类:
其他好文 时间:
2014-08-04 17:14:37
阅读次数:
220
1、使用svn很长时间,但是一直使用都没有去梳理过svn是什么,怎么样使用,只会简单的svn 添加文件,删除文件,co,ci,up现在简单的整理一下使用svn的模式有两种1、Lock-Modify-Unlock加锁-修改-解锁 别人在修改这种方式很显然不适合团队协作2、Copy-Modify-Mer...
分类:
其他好文 时间:
2014-08-03 17:56:55
阅读次数:
232
C#的线程蛮简单。
Thread t1 = new Thread(Runing);
t.Start();
可以使用匿名线程进行传参。
Thread t = new Thread(() =>
{
Runing();
});
t.Start();
这样的话R...
分类:
编程语言 时间:
2014-08-01 16:03:31
阅读次数:
201
1.HashMapHashTableConcurrentHashMap都是java哈希算法的实现,其中HashMap是非线程安全的,HashTable和ConcurrentHashMap是线程安全的。单线程环境下HashMap更有速度优势。2.HashTable的实现方式比较简单粗暴,直接对修改操作进行加锁来控制并发访问。3.ConcurrentHashMap,通..
分类:
其他好文 时间:
2014-07-27 12:11:27
阅读次数:
191
redis客户端Jedis的分布式锁(跨jvm)...
分类:
其他好文 时间:
2014-07-26 02:58:56
阅读次数:
268
Spanner要满足的external consistency 是指:后开始的事务一定可以看到先提交的事务的修改。所有事务的读写都加锁可以解决这个问题,缺点是性能较差。特别是对于一些workload中只读事务占比较大的系统来说不可接受。为了让只读事务不加任何锁,需要引入多版本。在单机系统中,维护一....
分类:
其他好文 时间:
2014-07-26 01:30:16
阅读次数:
276