6.63.1 ISO/IEC 9899:1999 Изменения для локального хранения данных потоков
Ниже приведены изменения к ISO/IEC 9899:1999 (также известной как C99), которые документируют точные семантики расширения языка.
- 5.1.2 Среды выполнения
Добавить новый текст после первого абзаца
В любой среде выполнения, поток — это поток управления внутри программы. Реализуется ли более одного потока, связанного с программой, определяется реализацией. Способ создания потоков, помимо первого, имя и тип функции, вызываемой при запуске потока, а также способ завершения потоков определяются реализацией. Однако объекты с продолжительностью хранения потока должны быть инициализированы до запуска потока.
- 6.2.4 Продолжительность хранения объектов
Добавить новый текст перед третьим абзацем
Объект, идентификатор которого объявлен со спецификатором класса хранения
__thread, имеет локальное хранение данных потока. Его жизненный цикл охватывает весь период выполнения потока, и его значение сохраняется только один раз, до начала работы потока. - 6.4.1 Ключевые слова
Добавить
__thread. - 6.7.1 Спецификаторы класса хранения
Добавить
__threadв список спецификаторов класса хранения в первом абзаце.Изменить второй абзац на
За исключением
__thread, может быть указан только один спецификатор класса хранения […]. Спецификатор__threadможет использоваться самостоятельно или сразу послеexternилиstatic.Добавить новый текст после шестого абзаца
Объявление идентификатора переменной со областью видимости блока, которая указывает
__thread, также должно указыватьexternилиstatic.Спецификатор
__threadдолжен использоваться только с переменными.
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-8.5.0/gcc/C99-Thread-Local-Edits.html