我需要创建一个程序来创建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);
}