philosophers_prep/2_mutex_basics.txt

18 lines
872 B
Plaintext

Assignment name: mutex_basics
Expected files: mutex_basics.c
Allowed functions: memset, printf, malloc, free, write, pthread_create, pthread_detach
pthread_join, pthread_mutex_init, pthread_mutex_destroy
pthread_mutex_lock, pthread_mutex_unlock, usleep, gettimeofday
--------------------------------------------------------------------------------------
Cria um programa com uma variável global `counter` inicializada a 0.
Lança 4 threads que incrementam esta variável 1000 vezes cada uma.
Usa um mutex para proteger o acesso à variável.
O programa deve imprimir o valor final de `counter` (deve ser 4000) e o tempo total de execução.
Uso: `./mutex_basics`
Hint: Sem mutex, vais ver valores incorretos devido a race conditions.
O mutex garante que apenas uma thread acede à variável de cada vez.
Este é o conceito fundamental para o projeto Philosophers.