Как работают pthread_key_t и метод pthread_key_create?

У меня возникли некоторые проблемы с выяснением того, как работают pthread_key_t и pthread_key_create. Насколько я понимаю, каждый поток имеет TLS (локальное хранилище потока) и что ключ используется для доступа к локальному хранилищу потока. Чего я не понимаю, так это того, что когда создается ключ, каждый поток может его использовать? Допустим, поток 0 создает ключ 0, может ли поток 1 затем использовать ключ 0? Если поток 1 использует ключ 0, получит ли он доступ к собственному TLS или TLS потока 0?

Есть ли какой-то глобальный массив или что-то, что отслеживает все используемые ключи?

7
задан Alexey Kukanov 27 January 2012 в 07:22
поделиться