#04 - Programação concorrente com Threads POSIX
Objectivos
Apresentação das primitivas básicas da interface de Threads Posix: criação, terminação, passagem de informação entre threads. Realização de um exercício de procura colaborativa num vector.
Novas chamadas ao sistema
#include <pthread.h> int pthread_create(pthread_t *thread, pthread_attr_t *attr, void * (*start_routine)(void *), void * arg); void pthread_exit(void *retval); int pthread_join(pthread_t th, void **thread_return); int pthread_detach(pthread_t th); pthread_t pthread_self(void); int pthread_equal(pthread_t t1, pthread_t t2);
Exercícios propostos
- Implemente um programa que conta os números não-negativos num vector. A operação de contagem deverá ser dividida pelo número de threads especificado na sua linha de comando.
- Modifique o programa anterior de forma a que imprima ordenadamente os índices dos valores não negativos.