arm-linux

http://armboard.taobao.com/

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2012年3月14日

摘要: 作者:刘洪涛,华清远见嵌入式学院高级讲师,ARM公司授权ATC讲师。 关于自旋锁用法介绍的文章,已经有很多,但有些细节的地方点的还不够透。我这里就把我个人认为大家容易有疑问的地方拿出来讨论一下。 一、自旋锁(spinlock)简介 自旋锁在同一时刻只能被最多一个内核任务持有,所以一个时刻只有一个线程允许存在于临界区中。这点可以应用在多处理机器、或运行在单处理器上的抢占式内核中需要的锁定服务。 二、信号量简介 这里也介绍下信号量的概念,因为它的用法和自旋锁有相似的地方。Linux中的信号量是一种睡眠锁。如果有一个任务试图获得一个已被持有的信号量时,信号量会将其推入等待队列,然后让其睡眠。这时处. 阅读全文
posted @ 2012-03-14 16:20 arm-linux 阅读(1075) 评论(0) 推荐(1) 编辑

摘要: 本章已介绍了很多符号给并发的管理. 最重要的这些在此总结:#include <asm/semaphore.h> //定义信号量和其上操作的包含文件.信号量的定义和初始化(1)静态定义及初始化DECLARE_MUTEX(name);DECLARE_MUTEX_LOCKED(name); (2)动态定义及初始化struct semaphore semvoid init_MUTEX(struct semaphore *sem);void init_MUTEX_LOCKED(struct semaphore *sem);信号量的获取和释放void down(struct semaphore 阅读全文
posted @ 2012-03-14 15:38 arm-linux 阅读(695) 评论(0) 推荐(0) 编辑