首页 > 其他 > 详细

关于 可重入 函数的详解

时间:2015-05-14 01:01:34      阅读:191      评论:0      收藏:0      [点我收藏+]

一、什么是可重入函数?

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


二、如何使函数可重入?

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

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


三、不可重入函数举例    

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;

}

关于 可重入 函数的详解

原文:http://blog.csdn.net/dcx1205/article/details/45703303

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!