赞
踩
大家好,为了进一步提升大家对实验的认识程度,每个控制实验将加入详细控制思路与流程,欢迎交流学习。
今天给大家分享一下,linux系统里面信号量操作的具体实现,操作硬件为I.MX6ULL开发板。
信号量是同步的一种方式,linux内核也提供了信号量机制,信号量用于控制对共享资源的访问。
信号量特点:
1、信号量可以使等待资源线程进入休眠状态,因此适用于那些占用资源比较久的场合。
2、信号量不能用于中断中,因为信号量会引起休眠,中断不能休眠。
3、如果共享资源持有时间比较短,那就不适合使用共享资源了。
Linux内核使用semaphore结构体表示信号量,结构体如下:
- struct semaphore {
- raw_spinlock_t lock;
- unsigned int count;
- struct list_head wait_list;
- };
- #include <linux/types.h>
-
- #include <linux/kernel.h>
-
- #include <linux/delay.h>
-
- #include <linux/ide.h>
-
- #include &l
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。