Sto cercando di capire come sbarazzarmi di una dipendenza da pthread_timedjoin_np perché sto cercando di creare codice su OSX.alternativa a pthread_timedjoin_np
In questo momento ho una coda di thread da cui provengo, che fa pthread_timedjoin_np e se non restituiscono, vengono reinseriti in coda.
La fine della funzione thread chiamata per ogni thread esegue una pthread_exit (0); in modo che il thread di ricezione possa controllare un valore di ritorno pari a zero.
Ho pensato di provare a utilizzare pthread_cond_timedwait() per ottenere un effetto simile, tuttavia penso che manchi un passaggio.
Ho pensato che sarei stato in grado di rendere il segnale A del filo lavoratore una condizione AND pthread_exit() all'interno di un mutex, e il thread di lavoro B potrebbe essere attivato sul segnale e quindi pthread_join(). Il problema è che il thread B non sa quale thread ha lanciato il segnale condizionale. Devo passarlo esplicitamente come parte del segnale conditonale o cosa?
Grazie
Derek
Non un duplicato, ma alcune delle risposte possono essere utili: http: // StackOverflow.it/questions/73468/non-blocking-pthread-join – Corbin