标题:linux系统下线程中的sum对吗
取消只看楼主
zhanfffmmm
Rank: 5Rank: 5
等 级:职业侠客
帖 子:238
专家分:343
注 册:2009-10-16
结帖率:82.35%
 问题点数:0 回复次数:0 
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:21



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




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

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