Появилась необходимость хранить в каждом потоке свои static локальные данные.
Решение:
В c++11 появился thread_local, который объявляет переменную локальной для потока. Соответственно, сколько потоков - столько переменных будет создано.
В gcc для этой же цели есть __thread. Используется оно, как и другие спецификаторы класса:
__thread int i;
Можно использовать совместно с static или extern, но тогда оно обязательно должно стоять сразу после них.
Ссылка на официальный сайт.
Решение:
В c++11 появился thread_local, который объявляет переменную локальной для потока. Соответственно, сколько потоков - столько переменных будет создано.
В gcc для этой же цели есть __thread. Используется оно, как и другие спецификаторы класса:
__thread int i;
Можно использовать совместно с static или extern, но тогда оно обязательно должно стоять сразу после них.
Ссылка на официальный сайт.
Комментариев нет:
Отправить комментарий