Magna Concursos
4141383 Ano: 2026
Disciplina: TI - Desenvolvimento de Sistemas
Banca: FUNDATEC
Orgão: IFC

Analise o seguinte programa escrito em linguagem C, executado em ambiente Linux e utilizando a biblioteca POSIX Threads (pthreads):

#include <stdio.h>

#include <pthread.h>

pthread_mutex_t m1 = PTHREAD_MUTEX_INITIALIZER;

pthread_mutex_t m2 = PTHREAD_MUTEX_INITIALIZER;

void* thread1(void* arg){

pthread_mutex_lock(&m1);

printf("Thread 1 bloqueou m1\n");

pthread_mutex_lock(&m2);

printf("Thread 1 bloqueou m2\n");

pthread_mutex_unlock(&m2);

pthread_mutex_unlock(&m1);

return NULL;

}

void* thread2(void* arg){

pthread_mutex_lock(&m2);

printf("Thread 2 bloqueou m2\n");

pthread_mutex_lock(&m1);

printf("Thread 2 bloqueou m1\n");

pthread_mutex_unlock(&m1);

pthread_mutex_unlock(&m2);

return NULL;

}

int main(){

pthread_t t1, t2;

pthread_create(&t1,NULL,thread1,NULL);

pthread_create(&t2,NULL,thread2,NULL);

pthread_join(t1,NULL);

pthread_join(t2,NULL);

return 0;

}

Considerando a execução concorrente das threads, assinale a alternativa correta.

 

Provas

Questão presente nas seguintes provas