Pthreads (POSIX Threads) è un'API standardizzata basata su C per la creazione e la manipolazione di thread. È attualmente definito da POSIX.1-2008 (IEEE Std 1003.1, 2013 Edition / The Open Group Base Specifications Issue 7).
Ho preso la seguente demo dal web da https://computing.llnl.gov/tutorials/pthreads/ #include <pthread.h> #include <stdio.h> #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++){ …
Sto leggendo pthread.h; le funzioni relative alla variabile di condizione (come pthread_cond_wait(3)) richiedono un mutex come argomento. Perché? Per quanto posso dire, creerò un mutex solo per usare come argomento? Cosa dovrebbe fare quel mutex?
Tutte le funzioni menzionate in questo blocco sono funzioni di libreria. Come posso correggere questa perdita di memoria? È elencato nella categoria " Ancora raggiungibile ". (Ce ne sono altri 4, che sono molto simili, ma di varie dimensioni) 630 bytes in 1 blocks are still reachable in loss record …
Per citare la pagina man: Quando si utilizzano le variabili di condizione, esiste sempre un predicato booleano che coinvolge le variabili condivise associate a ciascuna condizione di attesa, che è vero se il thread deve procedere. Possono verificarsi attivazioni spurie dalle funzioni pthread_cond_timedwait () o pthread_cond_wait (). Poiché il ritorno …
In vari progetti C e C ++ multi thread ho visto il -pthreadflag applicato sia allo stadio di compilazione che a quello di collegamento, mentre altri non lo usano affatto e passano -lpthreadallo stadio di collegamento. Esiste un pericolo non compilare e collegare con la -pthreadbandiera - cioè che cosa …
Sto installando mingw-w64 su Windows e ci sono due opzioni: thread win32 e thread posix. So qual è la differenza tra thread win32 e pthreads ma non capisco qual è la differenza tra queste due opzioni. Dubito che se sceglierò i thread posix mi impedirà di chiamare funzioni WinAPI come …
Nel programma linux c, come stampare l'ID del thread di un thread creato dalla libreria pthread? ad esempio: possiamo ottenere il pid di un processo dagetpid()
Ho bisogno di passare più argomenti a una funzione che vorrei chiamare su un thread separato. Ho letto che il modo tipico per farlo è definire una struttura, passare alla funzione un puntatore a quella e dereferenziarla per gli argomenti. Tuttavia, non riesco a farlo funzionare: #include <stdio.h> #include <pthread.h> …
Mi confondo sempre. Qualcuno potrebbe spiegare cosa significa Reentrant in diversi contesti? E perché dovresti usare rientrante o non rientrante? Diciamo primitive di bloccaggio pthread (posix), sono rientranti o no? Quali insidie dovrebbero essere evitate quando le si utilizza? Il mutex rientra?
Diciamo che ho una classe come class c { // ... void *print(void *){ cout << "Hello"; } } E poi ho un vettore di c vector<c> classes; pthread_t t1; classes.push_back(c()); classes.push_back(c()); Ora, voglio creare un thread su c.print(); E quanto segue mi dà il problema di seguito: pthread_create(&t1, NULL, …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.