可重入函数
来源:互联网 发布:单片机 多少位 编辑:程序博客网 时间:2024/06/06 05:26
可重入函数:能够被多个线程‘同时’调用的函数,并且能够保证函数结果正确性的函数。
在C语言中编写可重入函数时,尽量不要使用全局变量或静态变量,如果使用了全特别注意局变量或静态变量,就需要注意对这类变量访问的互斥。
一般采用以下几种措施来保证函数的可重入性:信号量机制,关调度机制,关中断机制。
不可调用不可重入的函数,当调用了不可重入的函数时,会使该函数也变为不可重入的函数。一般驱动程序都是不可重入的函数。
保证函数可重入性的方法:
1) 在写函数时尽量使用局部变量。
2)对于要使用的全局变量要加以保护(如采取关中断、信号量等方法),这样构成的函数就一定是一个可重入的函数。
满足下列的函数多数是不可重入的:
1)函数体内使用了静态的数据结构。
2)函数体内调用了malloc()或者free()函数。
3)函数体内调用了标准I/O函数。
0 0
- 可重入函数
- 可重入函数
- 可重入函数
- 可重入函数
- 可重入函数
- 可重入函数
- 可重入函数
- 可重入函数
- 可重入函数
- 可重入函数
- 可重入函数
- 可重入函数
- 可重入函数
- 可重入函数
- 可重入函数
- 可重入函数
- 可重入函数
- 可重入函数
- VS CodeSnippet
- leetCode No.238 Product of Array Except Self
- SSM(五)基于webSocket的聊天室
- 在SpingMVC的Interceptor中如何得到被调用方法名
- 【转】Java线程池的那些事--线程计算公式
- 可重入函数
- 入门级CUDA程序调试的通用方法——可用于Matlab的MexCuda
- 在matlab编程中,如何生成如下图的二维坐标矩阵
- 欢迎使用CSDN-markdown编辑器
- 小米 mini 路由器刷 PandoraBox 系统实现 E 信破解
- js Dom节点的获取 以及相关操作
- git版本管理--撤销操作
- Codeforces Round #340 (Div. 2) C. Watering Flowers 计算几何、圆和点
- Activity Intent相关FLAG介绍