Articles of pthreads

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 […]

Significado do sinalizador -pthread ao compilar

Em vários projetos C e C ++ -pthread vi o sinalizador -pthread aplicado ao estágio de compilation e vinculação, enquanto outros não o utilizam e apenas passam -lpthread para o estágio de vinculação. Existe algum perigo de não compilar e vincular com o sinalizador -pthread – ou seja, o que o -pthread realmente faz? Estou […]

function pthread de uma class

Digamos que eu tenha uma aula como class c { // … void *print(void *){ cout << "Hello"; } } E então eu tenho um vetor de c vector classs; pthread_t t1; classs.push_back(c()); classs.push_back(c()); Agora, quero criar um encadeamento em c.print(); E o seguinte está me dando o problema abaixo: pthread_create(&t1, NULL, &c[0].print, NULL); Erro […]