TGViewer
Senior C++ Developer Senior C++ Developer @seniorcpp · 11.5K subscribers
Post #1276 3.79K
Спецификатор thread_local

Спецификатор thread_local позволяет создавать переменные, которые будут иметь своё значение для каждого потока, в который они будут загружены. То есть, каждый поток будет иметь свою собственную копию этой переменной.

Это может быть полезным в ситуациях, когда необходимо иметь глобальную переменную, доступную для каждого потока, но значение этой переменной должно быть уникальным для каждого потока.

В данном примере мы создали переменную x с помощью спецификатора thread_local. Затем мы создали функцию increment(), которая инкрементирует значение переменной x и выводит его на экран.

В функции main() мы создали два потока и передали им функцию increment(). Каждый поток будет иметь свою собственную копию переменной x, поэтому при выполнении функции increment() в каждом потоке будет изменяться только своя копия переменной x. После выполнения обоих потоков мы ожидаем завершения их работы с помощью метода join().
More from @seniorcpp
  1. Oct 17, 2026#вопросы_с_собеседований Объясните ключевые слова mutable и volatile. Ключевое слово volat…
  2. Oct 15, 2026Трюки с логарифмом Функцию log можно использовать для ряда изящных решений.
  3. Oct 14, 2026Алгоритмы all_of, any_of и none_of Начиная с C ++ 11, в STL C ++ добавляются некоторые нов…
  4. Oct 13, 2026Как написать «Змейку» на C++ в четыре переменные? Пишем классическую «Змейку», как на КДПВ…
  5. Oct 12, 2026Алгоритм set_symmetric_difference Строит отсортированную последовательность из элементов,…
  6. Oct 11, 2026Для чего нужен аллокатор и как создать свой собственный аллокатор? Аллокатор это шаблонный…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →