#include #include #include #include #include // prototipo de funciones void f_hilo1(void) ; void f_hilo2(void) ; char letraminus = 'a' ; char letramayus = 'B' ; pthread_mutex_t m1 = PTHREAD_MUTEX_INITIALIZER ; pthread_mutex_t m2 = PTHREAD_MUTEX_INITIALIZER ; int main(int argc, char **argv) { pthread_t hilo1; pthread_t hilo2; pthread_mutex_lock(&m2) ; pthread_create(&hilo1,NULL,(void *)f_hilo1,NULL); pthread_create(&hilo2,NULL,(void *)f_hilo2,NULL); pthread_join(hilo1,NULL); pthread_join(hilo2,NULL); printf("\n"); exit(0); } void f_hilo1(void) { while(letraminus <= 'z') { pthread_mutex_lock(&m1); // printf("%c",letraminus); printf("%c\n",letraminus); // sleep(1) ; pthread_mutex_unlock(&m2); letraminus+=2; } } void f_hilo2(void) { while(letramayus <= 'Z') { pthread_mutex_lock(&m2); // printf("%c",letramayus); printf("%c\n",letramayus); letramayus+=2; pthread_mutex_unlock(&m1); } }