读写锁的概念很简单,允许多个线程同时获取读锁,但同一时间只允许一个线程获得写锁,因此也称作共享-独占锁。在C#中,推荐使用ReaderWriterLockSlim类来完成读写锁的功能。某些场合下,对一个对象的读取次数远远大于修改次数,如果只是简单的用lock方式加锁,则会影响读取的效率。而如果采用读...
导读:本文介绍如何实现对应用加锁的功能,无须root权限某些人有时候会有这样一种需求,小A下载了个软件,只是软件中的美女过于诱惑与暴露,所以他不想让别人知道这是个什么软件,起码不想让别人打开浏 览。而这款软件又没有锁,任何人都可以打开,肿么办呢?如果打开它的时候需要输入密码,那该多好阿!于是,程序锁...
分类:
移动开发 时间:
2015-02-05 09:27:48
阅读次数:
207
原文:http://tech.meituan.com/innodb-lock.html前言:我们都知道事务的几种性质,数据库为了维护这些性质,尤其是一致性和隔离性,一般使用加锁这种方式。同时数据库又是个高并发的应用,同一时间会有大量的并发访问,如果加锁过度,会极大的降低并发处理能力。所以对于加锁的处...
分类:
数据库 时间:
2015-02-04 23:07:12
阅读次数:
297
伪锁,帮助亿万微信用户解决隐私安全问题,优秀的界面设计,卓越的用户体验,有趣的微信伪装锁,谁动谁知道,看了只有好奇和纳闷,不仅仅是保护隐私哦,最重要的是,我们做到保护过程更自然,用伪装的方式让对方不觉的是密码锁,还避免了尴尬呢,来动动试试?保护微信隐私,我最行!
应用场景:
" 你干嘛看我微信内容,被偷翻微信了?
" 亲朋好友的小朋友无意把你微信内容转发?
" 同学聚会总有人拿你手机窥微信隐私?
以上这些问题,伪锁会帮你漂亮的解决!...
分类:
微信 时间:
2015-02-04 18:40:23
阅读次数:
330
Java多线程之线程的同步
实际开发中我们也经常提到说线程安全问题,那么什么是线程安全问题呢?
线程不安全就是说在多线程编程中出现了错误情况,由于系统的线程调度具有一定的随机性,当使用多个线程来访问同一个数据时,非常容易出现线程安全问题。具体原因如下:
1,多个线程同时访问一个数据资源(该资源称为临界资源),形成数据发生不一致和不完整。
2,数据的不一致往往是因为一个线...
分类:
编程语言 时间:
2015-02-04 16:41:20
阅读次数:
241
一、基础知识。1:线程同步机制:互斥量,读写锁,条件变量,自旋锁,屏障。 1,互斥量:每个进程访问被互斥量保护的资源时,都需要先对互斥量进行判断。 1)互斥量重要属性:进程共享属性,健壮属性,类型属性。 2)部分系统 不支持 进程共享属性 3)对互斥量重复加锁会导致死锁。 2,...
分类:
编程语言 时间:
2015-02-03 16:37:20
阅读次数:
282
http://blog.sina.com.cn/s/blog_6f5b220601013zw3.html非常好的原子操作,不用加锁:__sync_fetch_and_addGCC 提供的原子操作gcc从4.1.2提供了__sync_*系列的built-in函数,用于提供加减和逻辑运算的原子操作。其声...
分类:
编程语言 时间:
2015-02-03 12:44:55
阅读次数:
195
Scala语言是在JVM上编程的优秀语言之一,其为并发,表达式和可扩展性而设计。这门语言及其程序库可以让你专注于问题而无需深陷于线程和同步等底层基础结构细节。Scala是一门混合了函数式和面向对象的语言。有以下特性:
1. Scala对函数式编程的支持可以写出非常简洁而有表现力的代码;
2. 对于多线程应用,Scala提供了基于actor的消息传递模型,消除了涉及并发的痛苦问题,利用该模型,可以很方便简单的写出多线程代码,而不用考虑线程之间的数据竞争和加锁释放锁等问题;
3. Scala和java一样...
分类:
其他好文 时间:
2015-02-01 16:15:47
阅读次数:
210
第一步,找到“系统偏好设置”下的“安全性与隐私”,在“通用”页里勾上“进入睡眠或开始屏幕保护程序后立即要求输入密码”。第二步,要用快捷键启动屏幕保护程序,相对复杂一点。在“应用程序”里找到“Automator”。新建一个服务,在“操作”下的“实用工具”里找 到“启动屏幕保护程序”,并把此操作拖动到右...
分类:
系统相关 时间:
2015-02-01 00:30:18
阅读次数:
358
@property与@synthesize是成对出现的,可以自动生成某个类成员变量的存取方法。在Xcode4.5以及以后的版本,@synthesize可以省略。1.atomic与nonatomicatomic:默认是有该属性的,这个属性是为了保证程序在多线程情况,编译器会自动生成一些互斥加锁代码,避...
分类:
移动开发 时间:
2015-01-30 10:38:16
阅读次数:
610