Articles of pthreads

Vários argumentos para funcionar chamado por pthread_create ()?

Eu preciso passar vários argumentos para uma function que gostaria de chamar em um segmento separado. Eu li que a maneira típica de fazer isso é definir uma estrutura, passar a function um ponteiro para isso e desreferencia-la para os argumentos. No entanto, não consigo fazer isso funcionar: #include #include struct arg_struct { int arg1; […]

Por que o pthread_cond_wait tem ativações espúrias?

Para citar a página man: Ao usar variables ​​de condição, sempre há um predicado booleano envolvendo variables ​​compartilhadas associadas a cada condição de espera que é verdadeira se o encadeamento deve continuar. Os despertares espúrios das funções pthread_cond_timedwait () ou pthread_cond_wait () podem ocorrer. Como o retorno de pthread_cond_timedwait () ou pthread_cond_wait () não implica […]

Linha de ativação bloqueada na chamada accept ()

Sockets na questão do Linux Eu tenho um segmento de trabalho que está bloqueado em uma chamada accept (). Ele simplesmente espera por uma conexão de rede de input, lida com ela e retorna para a próxima conexão. Quando é hora de o programa sair, como faço para sinalizar esse thread de trabalho de rede […]

Segmentos e sinais POSIX

Eu tenho tentado entender as complexidades de como threads POSIX e sinais POSIX interagem. Em particular, estou interessado em: Qual é a melhor maneira de controlar a qual thread um sinal é entregue (assumindo que não é fatal em primeiro lugar)? Qual é a melhor maneira de dizer a outro segmento (que pode estar ocupado) […]

cmake e libpthread

Estou executando o RHEL 5.1 e uso o gcc . Como eu digo ao cmake para adicionar -pthread à compilation e links?

Chamando pthread_cond_signal sem bloquear mutex

Eu li em algum lugar que devemos bloquear o mutex antes de chamar pthread_cond_signal e desbloquear o texto depois de chamá-lo: A rotina pthread_cond_signal () é usada para sinalizar (ou ativar) outro thread que está aguardando a variável condition. Ele deve ser chamado depois que o mutex é bloqueado e deve desbloquear o mutex para […]

Diferença entre -pthread e -lpthread ao compilar

Qual é a diferença entre gcc -pthread e gcc -lpthread que é usado durante a compilation de programas multithread?

Por que as funções variables ​​da condição dos pthreads requerem um mutex?

Estou lendo em pthread.h ; as funções relacionadas à variável de condição (como pthread_cond_wait(3) ) requerem um mutex como um argumento. Por quê? Tanto quanto eu posso dizer, eu vou estar criando um mutex apenas para usar como esse argumento? O que é que esse mutex deveria fazer?

Vazamento Ainda Alcançável detectado por Valgrind

Todas as funções mencionadas neste bloco são funções da biblioteca. Como posso corrigir esse memory leaks? Está listado na categoria ” Ainda acessível “. (Existem mais 4, que são muito semelhantes, mas de tamanhos variados) 630 bytes in 1 blocks are still reachable in loss record 5 of 5 at 0x4004F1B: calloc (vg_replace_malloc.c:418) by 0x931CD2: […]

Referência indefinida para pthread_create no Linux

Eu peguei a seguinte demonstração da web em https://computing.llnl.gov/tutorials/pthreads/ #include #include #define NUM_THREADS 5 void *PrintHello(void *threadid) { long tid; tid = (long)threadid; printf(“Hello World! It’s me, thread #%ld!\n”, tid); pthread_exit(NULL); } int main (int argc, char *argv[]) { pthread_t threads[NUM_THREADS]; int rc; long t; for(t=0; t<NUM_THREADS; t++){ printf("In main: creating thread %ld\n", t); rc […]