关于 可重入 函数的详解

一、什么是可重入函数?

答:可重入函数就是多个线程访问同一个函数时,彼此之间互不影响,,均能得到期望的结果

二、如何使函数可重入?

答:保证函数所有的输入都来自于函数的形参,所有的输出都为从函数返回值或输出参数得到,

函数内部不得使用全局变量或者静态局部变量

三、不可重入函数举例

int g_flag = 0;

int fun(int x)

{

int a = 0;

//在函数内部使用了全局变量g_flag

if (g_flag > 0)

{

a += x;

}

return a;

}

或者

int fun(int x)

{

static int a = 0;

//在函数内部使用了静态局部变量a

a +=x;

return a;

}

找寻隐藏在山间的纯净和那“鸟鸣山更幽”的飞鸟。

关于 可重入 函数的详解

相关文章:

你感兴趣的文章:

标签云: