可重入函数
来源:互联网 发布:python 执行perl脚本 编辑:程序博客网 时间:2024/06/05 05:01
http://www.cnblogs.com/luvi/archive/2008/05/09/1190493.html
可重入函数主要应用于多任务环境中,一个可重入的函数简单来说就是可以被中断的函数。而不可重入的函数由于使用了一些系统资源,比如全局变量区,中断向量表等,所以它如果被中断的话,可能会出现问题,这类函数是不能运行在多任务环境下的。
编写可重入函数时,若使用全局变量,则应通过关中断、信号量(即P、V操作)等手段对其加以保护。
编写可重入函数的规则:
1) 不要使用全局变量。因为别的代码很可能覆盖这些变量值。
2) 在和硬件发生交互的时候,切记执行类似disinterrupt()之类的操作,就是关闭硬件中断。完成交互记得打开中断,在有些系列上,这叫做“进入/退出核心”在有些系列上,这叫做“进入/退出核心”或者用OS_ENTER_KERNAL/OS_EXIT_KERNAL来描述。//这是临界区保护。
3) 不能调用其它任何不可重入的函数。
4) 谨慎使用堆栈。最好先在使用前先OS_ENTER_KERNAL。
0 0
- 可重入函数
- 可重入函数
- 可重入函数
- 可重入函数
- 可重入函数
- 可重入函数
- 可重入函数
- 可重入函数
- 可重入函数
- 可重入函数
- 可重入函数
- 可重入函数
- 可重入函数
- 可重入函数
- 可重入函数
- 可重入函数
- 可重入函数
- 可重入函数
- 记录曲折的装机过程
- 127.0.0.1是什么地址?
- jfinal的使用for等循环批量添加数据问题
- 定时器简介
- [Mac OSX]MAC读取Excel的Sheet
- 可重入函数
- iOS开发UI篇—九宫格坐标计算
- ZeroMQ的安装
- HistoryServer的原理详解
- Mahout--简单推荐系统Demo
- 搜索树中的最短长度问题
- 【C++】宏定义的用法
- halcon边缘提取和检测常用方法
- matlab中的一些函数(下)注意