모든 C++ thread_local 소멸자가 호출 된 후에 일부 작업을 수행하려고합니다. 플랫폼에 따라 다릅니다 - Android이므로 pthreads
에 액세스 할 수 있습니다.pthread 소멸자가있는 C++ thread_local 소멸자
질문 : pthread_key_create
소멸자가 C++ thread_local
소멸자 전후에 호출되어야 할 때입니까? 아니면 인터리브 할 수 있습니까?
필자는 C++ 이후에 호출 된 Linux Mint 및 pthread 소멸자에 대해 테스트했습니다.
thread_local이 pthread_key_create 측면에서 구현되었다고 생각됩니다. –
@RichardHodges 나는 그것도 처음에 기대한다 ... 그러나! pthread_key_create 파기 순서는 정의되어 있지 않습니다. C++ thread_local 소멸자가 필요합니다. 그들은 단지 순수한 pthread 일 수 없습니다. 그래서, 그들은 인터리브 될 수 없습니다 ... 따라서 - 그들은 모두 이전이나 이후에 호출됩니다 ... – tower120
사실 godbolt에서 놀아 보면 실제로 gcc가 thread_specific 데이터를 추적하기 위해 레지스터를 사용하는 것으로 보입니다. –