int pthread_create (pthread_t *thread_v, const pthread_attr_t *attr, void
*(*startroutine) (void), void *arg) ;
thread_v deve ser uma variável do tipo pthread_t que receberá um id na criação da thread.
attr é usado para setar atributos da thread.
startroutine é a rotina do programa que deve ser chamada dando
origem à thread. Sua declaração no programa deve ser void *startroutine
(void *param).
arg é uma estrutura com os parâmetros que se deseja passar à thread. Não há necessidade de realizar um cast sobre esse ponteiro void para alguma estrutura de dados.
Esta chamada é usada para criar uma nova thread, inicializar seus
atribuitos e torná-la executável. Se terminar de maneira correta, a
função retorna 0 (zero). Ou um número indicando erro, caso contrário.
tc = pthread_create(&consumers[i], NULL, consume, (void *)i+1);
AIX, Linux, Lynx, SunOS e Solaris
Para maiores informações sobre este comando, use o comando man.