线程的创建 Thread Sleep/ SpinWait Sleep与SpinWait的区别: 使用Thread.Sleep()会导致等待过于进行切换,等待时间不准确,而且会由用户模式切换到内核模式;使用SpinWait(一个轻量同步类型(结构体))来进行等待的处理,等待过程中会使用自旋等待,从而避 ...
分类:
编程语言 时间:
2016-11-15 23:22:21
阅读次数:
356
转自:http://www.ibm.com/developerworks/cn/linux/l-rcu/ 一、 引言 众所周知,为了保护共享数据,需要一些同步机制,如自旋锁(spinlock),读写锁(rwlock),它们使用起来非常简单,而且是一种很有效的同步机制,在UNIX系统和Linux系统中 ...
分类:
系统相关 时间:
2016-11-09 15:20:56
阅读次数:
291
摘要: 1.闩锁就像是内存上的锁,随着越来越多的线程参与进来,他们争相访问同一块内存,导致堵塞。2.自旋锁就是闩锁,不同之处是如果访问的内存不可用,它将继续检查轮询一段时间。3.拴锁和自旋锁是我们无法控制的,由sqlserver自动维护,但是我们应积极寻找避免他们发生堵塞的方法。4。id作为聚集索引 ...
分类:
其他好文 时间:
2016-11-09 11:50:02
阅读次数:
227
synchronized在JDK5之前一直被称为重量级锁,是一个较为鸡肋的设计,而在JDK6对synchronized内在机制进行了大量显著的优化,加入了CAS,轻量级锁和偏向锁的功能,性能上已经跟ReentrantLock相差无几,而且synchronized在使用上更加简单,不易出错(避免哲学家... ...
分类:
其他好文 时间:
2016-11-06 17:27:21
阅读次数:
163
为了防止无良网站的爬虫抓取文章,特此标识,转载请注明文章出处。LaplaceDemon/ShiJiaqi。 http://www.cnblogs.com/shijiaqi1066/p/5999610.html 实现: 测试: 为了防止无良网站的爬虫抓取文章,特此标识,转载请注明文章出处。Laplac ...
分类:
编程语言 时间:
2016-10-26 14:08:29
阅读次数:
233
乐观锁、悲观锁、要实践 http://chenzhou123520.iteye.com/blog/1860954 http://chenzhou123520.iteye.com/blog/1863407 http://outofmemory.cn/sql/optimistic-lock-and-pe ...
分类:
其他好文 时间:
2016-10-07 07:39:05
阅读次数:
141
一、基本概念 1、临界资源 该资源的访问是受限,一个进程访问了该资源,其他进程就不能访问该资源,得不到该资源的进程,该进程有什么动作: 1)进程就产生阻塞 >进入睡眠状态,使用机制:信号量和互斥锁 2)进程就会进入忙等待 >进程还是运行状态,使用机制:自旋锁 3)进程就会退出 临界资源举例: req ...
分类:
其他好文 时间:
2016-10-07 01:55:20
阅读次数:
296
本文转载自: http://www.blogfshare.com/kernel-synchronization.html 1.在支持多线程的操作系统下,有些函数会出现不可重入的现象。所谓“可重入”是指函数的执行结果不和执行顺序有关。反之如果执行结果和执行顺序有关,则称这个函数是“不可重入”的。 2. ...
分类:
其他好文 时间:
2016-09-30 12:14:14
阅读次数:
328
转自:http://www.jb51.net/article/55381.htm 转自:http://blog.csdn.net/aesop_wubo/article/details/7537278 ReentrantLock实现原理源码分析(推荐): http://huangyunbin.itey ...
分类:
编程语言 时间:
2016-08-24 17:06:13
阅读次数:
254
自旋锁(Spin lock) 自旋锁与互斥锁有点类似,只是自旋锁不会引起调用者睡眠,如果自旋锁已经被别的执行单元保持,调用者就一直循环在那里看是 否该自旋锁的保持者已经释放了锁,"自旋"一词就是因此而得名。其作用是为了解决某项资源的互斥使用。因为自旋锁不会引起调用者睡眠,所以自旋锁的效率远 高于互斥 ...
分类:
其他好文 时间:
2016-08-22 14:58:27
阅读次数:
158