Chinaunix首页 | 论坛 | 博客
  • 博客访问: 74308
  • 博文数量: 28
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 291
  • 用 户 组: 普通用户
  • 注册时间: 2013-11-29 14:47
文章存档

2014年(13)

2013年(15)

我的朋友

分类: C/C++

2013-12-13 10:32:57

#include
#include
#include

#define P_NUMBER 255
#define COUNT 100
#define TEST_LOGFILE "logFile.log"
FILE *logFile=NULL;
char *s="Hello linux\0";

int main()
{
  int i=0,j=0;
  logFile=fopen(TEST_LOGFILE,"a+");
  for(i=0;i   {
    if(fork()==0){//最多可以创建1000个进程
      for(j=0;j       {
        printf("[%d][%d]%s\n",i,j,s);  //每次执行的结果都不一样,我原意是要创建255个进程,实际上每次都达不到,创建的进程数目在200左右。不知道那里出的
       问题,是代码,还是系统原因?我用的是虚拟机测得。
       
        fprintf(logFile,"[%d]%s\n",j,s);
      }
      exit(0);
    }
  }
  for(i=0;i     wait(0);
  }
  printf("OK\n");
  return 0;
}

#include
#include
#include

#define COUNT 1
#define Test_log "logfile.log"
FILE *logfile=NULL;
char *s="hello linux\0";
static int sum=0;
void *print_hello_linux(void *arg)
{
  int i=0;
  sum++;

  for(i=0;i   {
    printf("[%d]-[%d]%s\n",sum,i,s);
//  fprintf(logfile,"[%d]%s\n",i,s);
  }
  pthread_exit(0);
  return NULL;
}
int main(int argc,char *argv[])
{
  int i=0;
  int P_NUMBER=255;
  if(argc>=2)
    P_NUMBER=atoi(argv[1]);
  printf("%d\n",P_NUMBER);
  pthread_t pid[P_NUMBER];

  logfile=fopen(Test_log,"a+");
  for(i=0;i     pthread_create(&pid[i],NULL,print_hello_linux,NULL);//最多可以创建300个线程
  for(i=0;i     pthread_join(pid[i],NULL);
  printf("OK\n");
  return 0;
}

阅读(1147) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~