No 9º laboratório, o plano é:

  • Revisão breve sobre variáveis de condição
  • Elaboração do tutorial 6
  • Apresentação do 2º exercício do projeto e esclarecimento de dúvidas

Variáveis de condição

  • Slides (04 - Mem-Partilhada II 2021-22-v2.pdf): https://fenix.tecnico.ulisboa.pt/downloadFile/563568428829083/04%20-%20Mem-Partilhada%20II%202021-22-v2.pdf
  • Permite uma tarefa esperar por uma condição que depende da ação de outra tarefa
    • A condição é determinada em função do estado de variáveis partilhadas
  • Cada condvar está associada a um trinco, que protege as secções críticas com acessos às variáveis partilhadas usadas para a condição de espera
  • pthread_cond_t

    int pthread_cond_init(pthread_cond_t *cond, const pthread_condattr_t *attr);
    int pthread_cond_destroy(pthread_cond_t *cond);
    int pthread_cond_wait(pthread_cond_t *restrict cond, pthread_mutex_t *restrict mutex);
    int pthread_cond_timedwait(pthread_cond_t *restrict cond, pthread_mutex_t *restrict mutex, const struct timespec *restrict abstime);
    int pthread_cond_signal(pthread_cond_t *cond);
    int pthread_cond_broadcast(pthread_cond_t *cond);
    

Tutorial 6

Projeto

Informações: