原文链接 作者:Jakob
Jenkov 译者:刘晓日 校对:丁一
重入锁死与java中的死锁非常相似。锁和读写锁两篇文章中都有涉及到重入锁死的问题。
当一个线程重新获取锁,读写锁或其他不可重入的同步器时,就可能发生重入锁死。可重入的意思是线程可以重复获得它已经持有的锁。Java的synchronized块是可重入的。因此下面的代码是没问题的:
(译者注:这里提到的锁都是指的...
分类:
编程语言 时间:
2015-05-14 18:51:39
阅读次数:
170
原文链接作者:Jakob Jenkov译者:刘晓日校对:丁一重入锁死与java中的死锁非常相似。锁和读写锁两篇文章中都有涉及到重入锁死的问题。当一个线程重新获取锁,读写锁或其他不可重入的同步器时,就可能发生重入锁死。可重入的意思是线程可以重复获得它已经持有的锁。Java的synchronized块是...
分类:
编程语言 时间:
2015-05-14 18:20:02
阅读次数:
237
这两天工作有点忙,博客更新不及时,请大家见谅;
前面了解到lucene在索引创建的时候一个IndexWriter获取到一个读写锁,这样势在lucene创建大数据量的索引的时候,执行效率低下的问题;
查看前面文档一步一步跟我学习lucene(5)---lucene的索引构建原理可以看出,lucene索引的建立,跟以下几点关联很大;
磁盘空间大小,这个直接影响索引的建立,甚至会造成索引写入提...
分类:
编程语言 时间:
2015-05-13 10:36:28
阅读次数:
151
四个系统内核对象(事件、互斥、信号、计时器)都是线程同步的手段,从这也能看出处理线程同步的复杂性;不过这还不是全部,Windows Vista开始增加了 Condition variables(条件变量)、Slim Reader-Writer Locks(读写锁)等同步手段. 不过最简单、最轻...
分类:
编程语言 时间:
2015-05-11 16:04:17
阅读次数:
202
读写锁(read-write lock)一 综述 在一些程序中存在读者写者问题,也就是说,对某些资源的访问会 存在两种可能的情况,一种是访问必须是排它行的,就是独占的意思,这称作写操作;另一种情况就是访问方式可以是共享的,就是说可以有多个线程同时去访问某个资源,这种就称作读操作。这个问题模型是从对文...
分类:
编程语言 时间:
2015-05-09 17:16:24
阅读次数:
145
文件锁经常应用于两个方面:1.一是锁定文件中的临界数据,比如并发投票时文件记录的投票数2.二是利用具有互斥性质的写锁,实现进程的并发控制。/*使用文件锁*/#include fcntl(int fildes,int cmd,struct flock* arg);cmd:F_GETLK,F_SETLK...
分类:
其他好文 时间:
2015-05-09 16:13:29
阅读次数:
125
TokyoTyrant备份和恢复备份1.全量热备份备份命令为:tcrmgrcopy-port1978localhostdpath.tch.xxxxx(其中xxxxx为备份时间)根据业务需求及数据库运行状态决定备份的频度,全量热备时数据库库会写锁定,读不受影响。全量备份需记录备份时间点以提供replication恢复时所用,时间记..
分类:
其他好文 时间:
2015-05-08 18:21:30
阅读次数:
130
#ifndef THREAD_UTIL_H#define THREAD_UTIL_H#include namespace spider { class AutoLock { pthread_mutex_t * _lock; public: AutoLock(p...
分类:
编程语言 时间:
2015-05-05 01:13:27
阅读次数:
186
1 什么叫数据库共享锁[S]锁和[X]锁共享锁【S锁】 又称读锁,若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。这保证了其他事务可以读A,但在T释放A上的S 锁之前不能对A做任何修改。排他锁【X锁】 又称写锁。若事务T对数据...
分类:
其他好文 时间:
2015-04-28 11:11:20
阅读次数:
122
1. 内总管理原则(引用计数) IOS的对象都继承于NSObject, 该对象有一个方法:retainCount ,内存引用计数。 引用计数在很多技术都用到: window下的COM组件,多线程的信号量,读写锁,思想都一样。 (一般情况下: 后面会讨论例外情况) alloc 对象分配后引...
分类:
移动开发 时间:
2015-04-26 22:40:43
阅读次数:
227