1、自旋锁 2、自旋锁的其他种类 3、阻塞锁 4、可重入锁 5、读写锁 6、互斥锁 7、悲观锁 8、乐观锁 9、公平锁 10、非公平锁 11、偏向锁 12、对象锁 13、线程锁 14、锁粗化 15、轻量级锁 16、锁消除 17、锁膨胀 18、信号量 ...
分类:
编程语言 时间:
2017-09-24 15:29:45
阅读次数:
160
#include #include #include /* typedef unsigned long ngx_atomic_uint_t; typedef volatile ngx_atomic_uint_t ngx_atomic_t; typedef long ngx_atomic_int_t;... ...
分类:
其他好文 时间:
2017-09-11 19:53:36
阅读次数:
148
0x01 自旋锁简介 自旋锁也是一种同步机制,它能保证某个资源只能被一个线程所拥有,这种保护被形象地称做“上锁”。它可以用于驱动程序中的同步处理。初始化自旋锁时,处理解锁状态,这时它可以被程序“获取”。“获取”后的自旋锁处理于锁定状态,不能再被“获取”。 如果自旋锁已被锁住,这时有程序申请“获取”这 ...
分类:
其他好文 时间:
2017-08-20 18:17:07
阅读次数:
195
常用的同步原语锁,到多核处理器时代锁已经是必不可少的同步方式之一了。无论设计多优秀的多线程数据结构,都避不开有竞争的临界区,此时高效的锁显得至关重要。锁的颗粒度是框架/程序设计者所关注的,当然越细越好(也不尽然),同时不同的锁往往也会体现出完全不同的效率,Linux有posix的pthread_mu ...
分类:
其他好文 时间:
2017-08-20 15:45:28
阅读次数:
541
一 Test-and-Set Lock 所谓测试设置是最基本的锁,每个线程共用一把锁,进入临界区之前看没有有线程在临界区,如果没有,则进入,并上锁,如果有则等待。java实践中利用了原子的设置state变量来保证一次只有一个线程可以获得到锁。 这种锁优点就是简单,缺点是在硬件层面上读取state时候 ...
分类:
编程语言 时间:
2017-08-17 20:00:21
阅读次数:
289
http://blog.csdn.net/aesop_wubo/article/details/7533186 CLH锁即Craig, Landin, and Hagersten (CLH) locks。CLH锁是一个自旋锁。能确保无饥饿性。提供先来先服务的公平性。 CLH锁也是一种基于链表的可扩展 ...
分类:
其他好文 时间:
2017-08-13 11:16:09
阅读次数:
233
锁 在Java中目前有两种锁机制防止代码块受到并发访问的干扰:。java语言提供了一个synchronized (内部锁)或Lock/Condition(显示锁) 关键达到这一目的,在java SE 5.0引入了Lock/ReentranLock(重入锁)类。 锁具有以下作用: (1)锁用来保护代码 ...
分类:
其他好文 时间:
2017-08-10 22:41:43
阅读次数:
187
在学习 Linux® 的过程中,您或许接触过并发(concurrency)、临界段(critical section)和锁定,可是怎样在内核中使用这些概念呢?本文讨论了 2.6 版内核中可用的锁定机制,包含原子运算符(atomic operator)、自旋锁(spinlock)、读/写锁(reade ...
分类:
系统相关 时间:
2017-08-08 19:55:37
阅读次数:
254
锁作为并发共享数据,保证一致性的工具,在JAVA平台有多种实现(如 synchronized 和 ReentrantLock等等 ) 。 这些已经写好提供的锁为我们开发提供了便利,但是锁的具体性质以及类型却很少被提及。本系列文章将分析JAVA中常见的锁以及其特性,为大家答疑解惑。 1、自旋锁 2、自 ...
分类:
编程语言 时间:
2017-08-02 21:01:19
阅读次数:
204
1、 linux驱动分类 2、 信号量与自旋锁 3、 platform总线设备及总线设备怎样编写 4、 kmalloc和vmalloc的差别 5、 module_init的级别 6、 加入驱动 7、 IIC原理,总线框架,设备编写方法,i2c_msg 8、 kernel panic 9、 USB总线 ...
分类:
系统相关 时间:
2017-07-20 12:10:12
阅读次数:
267