标题:linux系统下线程中的sum对吗
取消只看楼主
zhanfffmmm
Rank: 5Rank: 5
等 级:职业侠客
帖 子:238
专家分:343
注 册:2009-10-16
结帖率:82.35%
已结贴  问题点数:100 回复次数:2 
linux系统下线程中的sum对吗
#include<stdio.h>
#include<pthread.h>
int x=1,sum;
void sumx(void)
{
    int i = 0;
    x=1;
    for(i=0;i<100;i++)
     {
        sum=sum+x;
     }
    printf("%d %d %d\n",i,x,sum)
}
void sext(void)
{
    x=0;
}
int main(void)
{
      pthread_t id1,id2;
     int i,ret;
     ret = pthread_create(&id1,NULL,(void *)sumx,NULL);
     if(ret!=0)
    {
        printf("error");
        exit(1);
    }
       ret = pthread_create(&id2,NULL,(void *)setx,NULL);
     if(ret!=0)
    {
        printf("error");
        exit(1);
    }
      pthread_join(id1,NULL);
      pthread_join(id2,NULL);
     
     printf("%d",sum);
     return(0);
}

我多次得出的答案是i=100,x=1;sum=100
                  sum=100
请问对吗?
搜索更多相关主题的帖子: linux 
2011-04-30 09:11
zhanfffmmm
Rank: 5Rank: 5
等 级:职业侠客
帖 子:238
专家分:343
注 册:2009-10-16
得分:0 
2011-04-30 11:26
zhanfffmmm
Rank: 5Rank: 5
等 级:职业侠客
帖 子:238
专家分:343
注 册:2009-10-16
得分:0 
我加了10000000才有了变化啊
悲剧
2011-04-30 13:59



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-338430-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.989303 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved