首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

如何循环建立多个线程

2012-07-29 
怎么循环建立多个线程请问怎么在一个循环语句中建立线程?就是每循环一次建立一个线程,并且已建立的线程不

怎么循环建立多个线程
请问怎么在一个循环语句中建立线程?就是每循环一次建立一个线程,并且已建立的线程不关闭
例如:

C/C++ code
for(int i=0;i<5;i++){     pthread_create();    //这行代码该怎么写才能在循环结束之后创建了5个线程?}



[解决办法]
pthread_t a_thread[5];

if (pthread_create(&a_thread[i], NULL, /*注释*/, (void *)message) < 0)
/*使用缺省属性创建线程*/
{
perror(“fail to pthread_create”);
exit(-1);
}
注释部分可以用一个函数指针数组;
我是这么想的~~~~~
[解决办法]
不知道楼主要的是不是这个效果,简单写了个例子:

C/C++ code
#include <unistd.h>#include <pthread.h>#include <stdio.h>void *ping_pthead(void* arg){   while(1)   {     int id = arg;     printf("arg = %d, ping\n", id);     sleep(2);   }}int main(int argc, char** argv){  pthread_t pid[5];  int i = 0;  for (i = 0; i < 5; i++) {    pthread_create(&pid[i], NULL, ping_pthead, (void*)i);    sleep(1);    printf("i=%d\n", i);  }  printf("............\n");  for (i = 0; i < 5; i++) {    pthread_join(pid[i], NULL);  }  return 0;} 

热点排行