08.02.2015 Views

Programação Funcional e Concorrente com Scheme

Programação Funcional e Concorrente com Scheme

Programação Funcional e Concorrente com Scheme

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

notas de aula - Jerônimo C. Pellegrini<br />

C T H R E A D S P O S I X<br />

(este apêndice está in<strong>com</strong>pleto)<br />

Este Apêndice descreve brevemente a API para programação <strong>com</strong> threads definida no<br />

padrão POSIX [61]. Usando exclusivamente a API definida neste padrão o programador<br />

torna seu código mais portável entre diferentes plataformas to tipo UNIX.<br />

Além da seção do padrão POSIX a respeito de threads, é descrita aqui a API para<br />

acesso a semáforos (que no documento POSIX está na seção de <strong>com</strong>unicação interprocessos).<br />

c.1 criação e finalização de threads<br />

int pthread_create ( pthread_t * thread_id ,<br />

const pthread_attr_t *attr ,<br />

void *(* start_routine ) ( void *),<br />

void * arg );<br />

Cria uma thread. Um identificador será gravado em thread_id; O ponto de entrada da<br />

thread é start_routine, que será chamada <strong>com</strong> um único argumento, arg. O argumento<br />

pthread_attr_t contém atributos da thread, e pode ser NULL (para criação de threads<br />

<strong>com</strong> atributos default) ou uma estrutura inicializada <strong>com</strong> pthread_attr_init.<br />

int pthread_join ( pthread_t thread_id , void ** status );<br />

Espera até que a thread thread_id termine. O valor retornado por thread_id estará<br />

disponível em *status<br />

void pthread_exit ( void * status )<br />

Versão Preliminar<br />

Termina a thread sendo executada, retornando *status, que pode ser obtido pela thread<br />

que estiver aguardando por esta (veja pthread_join).<br />

int sched_yield ( void );<br />

[ 27 de outubro de 2010 at 15:47 ]<br />

335

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!