rispondere alle domande una per una, anche se non necessariamente nello stesso ordine:
È pthread_t
un tipo di dati simile a int
o char
, indicando stiamo definendo un filo? Fa il compilatore di allocare memoria al pthread_t thread1
subito dopo quella frase o lo fa attendere fino a trovare la pthread_create()
chiamata
pthread_t
è un tipo simile a int
ed è creato quando si definisce, non quando si chiama pthread_create
. Nel frammento:
pthread_t tid;
int x = pthread_create (&tid, blah, blah, blah);
è la linea di prima che crea la variabile, anche se non vale niente di utile fino al ritorno da pthread_create
.
Quante dimensioni ha un valore di pthread_t
, 2 byte o 4 byte?
Non si deve preoccupare di quanto spazio ci vuole, non più di quanto si dovrebbe preoccupare di quanto spazio è occupato da una struttura FILE
. Dovresti semplicemente usare la struttura come previsto. Se vuoi dire , allora sizeof
è tuo amico.
Qualche buona informazione su come impostare gli attributi del thread?
Se si desidera utilizzare un valore diverso dagli attributi di default, è necessario prima creare una variabile di attributi e quindi passare alla chiamata pthread_create
.
È possibile passare solo un argomento nella funzione pthread_create
alla funzione? Non possiamo inviare 2 o 3 argomenti nella funzione pthread_create()
al thread chiamato?
Mentre si è permesso solo di passare uno parametro in più per il filo, non c'è nulla ti impedisce di fare questo un parametro un puntatore ad una struttura in possesso di un centinaio di cose diverse.
Se siete alla ricerca di informazioni su come utilizzare pthreads, c'è un sacco di roba al termine di una ricerca su Google, ma io continuo a preferire la versione morti-albero di me stesso:

Questo dipende molto dalla piattaforma. Su alcuni sistemi è una 'struct'. –