多次加入线程

时间:2014-05-27 13:27:20

标签: c linux multithreading pthreads

我需要创建一个程序来创建2个线程,这些线程将打印10次其id(pthread_self),但是让你打印ID替换(A,B,A,B,...)。 问题是我如何制作,我想也许我可以加入每个线程10次,但我得到错误... 任何想法,谢谢。 这是我做的代码......:

#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>

static pthread_mutex_t my_mutex = PTHREAD_MUTEX_INITIALIZER;
void * rutina (void *param)
{

 int * cuv=  (int *) param;
  int j;
  pthread_mutex_lock (&my_mutex);
  printf("cuv: %d",*cuv);
  pthread_mutex_unlock (&my_mutex);
}

main ()
{
  int i;
  pthread_t th[2];
  int* argc;
  argc=malloc(sizeof(int));

    for (i = 1; i <= 2; i++)
    {
        *argc=i;
        pthread_create (&th[i], NULL, rutina, argc);
    }



  for (i = 1; i <= 2; i++)
    pthread_join (th[i], NULL);
}

0 个答案:

没有答案