pthreads + tsd

Alvaro Herrera alvherre en alvh.no-ip.org
Lun Ago 31 22:55:50 CLT 2009


Eduardo Silva escribió:
> Estimados,
> 
> tengo varias hebras las cuales tienen su propio Thread-Specific-Data (TSD) y
> sus llaves funcionan sin problemas. El problema radica en que necesito
> accesar el TSD de cada una de las hebras desde una nueva hebra, por lo cual
> mi pregunta es: ¿ alguien conoce alguna forma de accesar las TSD de otras
> hebras ?, hago esta pregunta ya que no puedo dejar de usar TSD por temas de
> rendimiento.

Se supone que no deberías usar datos de otra hebra.  De hecho en el man
de pthread_getspecific no veo nada que diga que puedes leer datos de
otra hebra de ninguna forma.  Quizás deberías usar un área compartida de
datos (es decir una variable global normal, posiblemente un array
dándole un elemento a cada hebra), y sincronizar acceso con
pthread_mutex* (un mutex para cada elemento de array?) o posiblemente
pthread_cond*.

-- 
Alvaro Herrera                         http://www.flickr.com/photos/alvherre/
"Para tener más hay que desear menos"


Más información sobre la lista de distribución Linux