Existe alguma maneira de emular completamente o thread_local usando o __thread do GCC?
O padrão C ++ 11 contém uma nova adição - o especificador thread_local - que torna variáveis estáticas thread-local. O thread_local padrão suporta tipos não-triviais - aqueles com construtores e destruidores. O GCC, infelizmente, suporta apenas tipos triviais via__thread
especificador fornecido como extensão. Existe uma maneira de emularthread_local
Em cima de__thread
? A implementação de__thread
é muito rápido (equivalente a variável regular mais duas indirecções), por isso quero evitar funções de biblioteca no caminho quente.
Estou usando o GCC e o Linux. Portabilidade não é necessária.