免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 6900 | 回复: 11
打印 上一主题 下一主题

[C] 大神呢· 假设两个函数同时调用一个函数,两个fopen同时打开一个文件 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-08-18 14:07 |只看该作者 |倒序浏览
static  number;
A ()
{
    number= XX// 随便赋值
    fp = fopen("/proc/stat", "r" );
}

B()
{
     A();
}

C()
{
     A();
}
假设 B(), C() 同时被调用了,会冲突吗?
类比下 如果是 线程呢 ?
{:3_186:}

论坛徽章:
324
射手座
日期:2013-08-23 12:04:38射手座
日期:2013-08-23 16:18:12未羊
日期:2013-08-30 14:33:15水瓶座
日期:2013-09-02 16:44:31摩羯座
日期:2013-09-25 09:33:52双子座
日期:2013-09-26 12:21:10金牛座
日期:2013-10-14 09:08:49申猴
日期:2013-10-16 13:09:43子鼠
日期:2013-10-17 23:23:19射手座
日期:2013-10-18 13:00:27金牛座
日期:2013-10-18 15:47:57午马
日期:2013-10-18 21:43:38
2 [报告]
发表于 2010-08-18 14:18 |只看该作者
static  number 静态变量么?跟打开文件有啥关系

论坛徽章:
0
3 [报告]
发表于 2010-08-18 14:26 |只看该作者
回复 1# kface

  可以同时打开啊

   不过要处理好锁保护之类的,不然文件内容可能不是你想的

论坛徽章:
0
4 [报告]
发表于 2010-08-18 14:28 |只看该作者
回复 2# hellioncu


    没关系啊·  A函数中包括两个动作。一个是对静态变量的赋值。另一个对fopen 文件,读数据的呢。

论坛徽章:
324
射手座
日期:2013-08-23 12:04:38射手座
日期:2013-08-23 16:18:12未羊
日期:2013-08-30 14:33:15水瓶座
日期:2013-09-02 16:44:31摩羯座
日期:2013-09-25 09:33:52双子座
日期:2013-09-26 12:21:10金牛座
日期:2013-10-14 09:08:49申猴
日期:2013-10-16 13:09:43子鼠
日期:2013-10-17 23:23:19射手座
日期:2013-10-18 13:00:27金牛座
日期:2013-10-18 15:47:57午马
日期:2013-10-18 21:43:38
5 [报告]
发表于 2010-08-18 14:37 |只看该作者
回复  hellioncu


    没关系啊·  A函数中包括两个动作。一个是对静态变量的赋值。另一个对fopen 文件 ...
kface 发表于 2010-08-18 14:28



    静态变量的值可能会有问题,跟具体类型等有关
fp是局部变量把,那没有事情

论坛徽章:
0
6 [报告]
发表于 2010-08-18 14:38 |只看该作者
回复 3# chong232


    那两个函数同时对 静态变量 赋值操作了呢 ?这个又会怎么样啊

论坛徽章:
324
射手座
日期:2013-08-23 12:04:38射手座
日期:2013-08-23 16:18:12未羊
日期:2013-08-30 14:33:15水瓶座
日期:2013-09-02 16:44:31摩羯座
日期:2013-09-25 09:33:52双子座
日期:2013-09-26 12:21:10金牛座
日期:2013-10-14 09:08:49申猴
日期:2013-10-16 13:09:43子鼠
日期:2013-10-17 23:23:19射手座
日期:2013-10-18 13:00:27金牛座
日期:2013-10-18 15:47:57午马
日期:2013-10-18 21:43:38
7 [报告]
发表于 2010-08-18 14:43 |只看该作者
回复  chong232


    那两个函数同时对 静态变量 赋值操作了呢 ?这个又会怎么样啊
kface 发表于 2010-08-18 14:38



    这个看赋值是不是原子的了。是原子,则是两者之一,不是原子就没法说了

论坛徽章:
0
8 [报告]
发表于 2010-08-18 14:53 |只看该作者
回复 6# kface


    它们肯定是有先后的, 变量最终值是最后操作的那个

论坛徽章:
1
天蝎座
日期:2014-02-28 16:08:53
9 [报告]
发表于 2010-08-18 15:02 |只看该作者
lz你那头像太伤眼睛了

论坛徽章:
0
10 [报告]
发表于 2010-08-18 15:09 |只看该作者
回复 9# snriyt


    这头像不是挺有视觉冲击的嘛? 哈哈{:3_190:}
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP