POSIX Threads
Aspeto
Este artigo não cita fontes confiáveis. (Novembro de 2020) |
POSIX threads é um padrão POSIX para threads, o qual define uma API padrão para criar e manipular threads. As bibliotecas que implementam a POSIX threads são chamadas Pthreads, sendo muito difundidas no universo Unix e outros sistemas operacionais semelhantes como Linux e Solaris.
Exemplo
[editar | editar código-fonte]Este é um exemplo de implementação que utiliza a POSIX threads.
#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
#define THREADS_MAX 4
void *function(void *param)
{
int id = *((int *)(param));
int i, loops = 10;
for(i = 0; i < loops; i++)
{
printf("thread %d: loop %d\n", id, i);
}
pthread_exit(NULL);
}
int main(void)
{
pthread_t threads[THREADS_MAX];
int thread_args[THREADS_MAX];
int i;
printf("pre-execution\n");
for (i = 0; i < THREADS_MAX; i++)
{
thread_args[i] = i;
pthread_create(&threads[i], NULL, function, (void *) &thread_args[i]);
}
printf("mid-execution\n");
for (i = 0; i < THREADS_MAX; i++)
{
pthread_join(threads[i], NULL);
}
printf("post-execution\n");
return EXIT_SUCCESS;
}
Ver também
[editar | editar código-fonte]Ligações externas
[editar | editar código-fonte]