Domanda

Sto usando ACE discussioni e hanno bisogno di ogni thread di avere un proprio membro int. È possibile?

È stato utile?

Soluzione

ACE chiama "Discussione bagagli specifico". Check this out: ACE_TSS . Questo è tutto quello che so su di esso, mi dispiace, non può essere più di aiuto.

La pagina di Wikipedia per archiviazione thread-local dice che c'è un modo per pthreads fare anche questo.

Altri suggerimenti

La sua piattaforma specifica. Windows per esempio si dovrebbe usare __declspec( thread ) . Il compilatore sfruttare la TLS API (TlsAlloc, TlsFree e amici), e su Win32 non dovreste sempre utilizzare FLS (Fiber archiviazione locale) al posto di TLS, ma l'API TLS è silenziosamente si reindirizza a FLS comunque su qualsiasi versione moderna Win32.

Sì. È possibile utilizzare il modello ACS_TSS<type>, che è stato progettato per "infilare archiviazione specifico". (Vale a dire: filetto variabili locali)

Per i dettagli, vedere la href="http://www.dre.vanderbilt.edu/Doxygen/Stable/ace/a00615.html" su ACE_TSS .

TLS per alcuni target . È possibile utilizzare la parola chiave specifica __thread-GCC per definire le variabili thread-local (deve essere statica o globale).

libACE stessa ha roba thread-local integrato, è possibile controllare la documentazione e guardare il esempio di codice

Non c'è modo di avere ACE_TSS impostare il valore iniziale per tutte le discussioni; si può facilmente impostare il valore iniziale appena dopo l'ingresso nella funzione filo però.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top