Вопросы по теме 'thread-local-storage'

Локальная память потока, использование внутреннего буфера std :: string для временной памяти в стиле c
Я использую протоколы буферов и OpensSSL для генерации, HMAC, а затем CBC шифруют два поля, чтобы скрыть файлы cookie сеанса - аналогично токенам Kerberos. API протокольных буферов взаимодействует с std :: strings и имеет механизм кэширования...
1339 просмотров

Утечка памяти при использовании общей библиотеки с локальным хранилищем потоков через ctypes в программе python
Я использую модуль ctypes в python для загрузки общей c-библиотеки, которая содержит локальное хранилище потоков. Это довольно большая c-библиотека с долгой историей, которую мы пытаемся сделать потокобезопасной. Библиотека содержит множество...
1625 просмотров

Локальное хранилище потока в режиме ядра?
Существует ли эквивалент Thread-Local Storage (TLS) для драйверов режима ядра в Windows (точнее, Win32)? Чего я пытаюсь достичь: В конце концов, из подпрограммы диспетчеризации моего драйвера он может вызывать множество других функций (может...
3096 просмотров

Меньше промахов кеша с TLS?
Будет ли меньше промахов кэша, если я буду использовать локальное хранилище потоков в своей многопоточной программе? Редактировать: Поскольку каждому потоку предоставляется собственный пул памяти, более вероятно, что последняя доступная память все...
208 просмотров

Что означает thread_local в C ++ 11?
Меня смущает описание thread_local в C ++ 11. Насколько я понимаю, каждый поток имеет уникальную копию локальных переменных в функции. К глобальным / статическим переменным могут получить доступ все потоки (возможно, синхронизированный доступ с...
91279 просмотров

Как инициализировать локальную переменную потока в С++?
Возможный дубликат: C++11 thread_local в gcc - альтернативы Есть ли способ полностью эмулировать thread_local с помощью __thread GCC? Я хотел использовать С++ 11 thread_local для создания и использования переменной thread_local,...
10810 просмотров

Каковы настоящие требования ELF TLS ABI для каждой архитектуры процессора?
Документ Ульриха Дреппера о локальном хранилище потоков описывает TLS ABI для нескольких различных архитектур ЦП, но Я считаю его недостаточным в качестве основы для реализации TLS по двум причинам: В нем отсутствует ряд важных арок, таких как...
1116 просмотров
schedule 21.08.2022

Адрес переменной для каждого процессора
Я пишу небольшой загружаемый модуль ядра Linux для версии 2.6.32, работающий на x86-64 SMP. Мой вопрос: есть ли способ получить смещение адреса переменной для каждого процессора, объявленной в ядре. Под смещением я подразумеваю смещение адреса от...
1209 просмотров
schedule 20.06.2022

плохой доступ при вызове pthread_getspecific в потоке повышения
Я разрабатываю подключаемый модуль, который работает в нескольких хост-приложениях и поддерживает собственные потоки с использованием библиотеки boost::thread версии 1.53.0. При запуске моего подключаемого модуля в определенном приложении на Mac я...
216 просмотров

Что С++ 11 считает потоком?
C++11 имеет некоторое представление о потоках. Например, он определяет новый спецификатор хранилища thread_local и указывает, что для переменных с этим спецификатором хранилища «существует отдельный объект или ссылка для каждого потока»...
482 просмотров

Использование boost::thread_specific_ptr в потоке без ускорения
Я читаю раздел документации для boost::thread_specific_ptr , и пытаемся разобрать этот абзац: Примечание. На некоторых платформах очистка данных, относящихся к потоку, не выполняется для потоков, созданных с помощью собственного API...
2951 просмотров

Адреса переменных локального хранилища потока
Хорошо, скажи, что у меня есть __thread int myVar; И затем я передаю &myVar из одного потока в другой... Если данные действительно «локальные», то хранилище TLS 1 потока может не отображаться в адресное пространство других потоков, и на самом...
2361 просмотров
schedule 08.12.2022

Не удалось скомпилировать __thread с помощью ndk clang 3.4/3.5.
Я безуспешно пытаюсь использовать __thread в этой небольшой программе. Есть идеи, поддерживается ли этот TLS в ndk 10c clang 3.4/3.5? Эта же программа прекрасно компилируется с ndk gcc 4.8/4.9 и родными компиляторами clang/gcc. Вот программа и...
1854 просмотров

Последовательности кода для TLS на ARM
В документе Обработка ELF для локального хранилища потоков приведены последовательности сборки для различных моделей (локальный exec /initial exec/general dynamic) для различных архитектур. Но не ARM — можно ли где-нибудь увидеть такие...
2658 просмотров
schedule 21.07.2023

Как работают указатели для конкретных потоков
Недавно я открыл для себя волшебство указателей на конкретные потоки boost. После некоторых исследований по безопасности потоков я хотел бы знать, как именно работают указатели для конкретных потоков. Однако я не могу найти это в документации. Может...
299 просмотров

Как работает gcc `__thread`?
Как реализован __thread в gcc? Это просто оболочка над pthread_getspecific и pthread_setspecific ? С моей программой, которая использует posix API для TLS, я немного разочарован, увидев, что 30% времени выполнения моей программы тратится на...
21683 просмотров

Как домены nodejs на самом деле работают за кулисами для нескольких запросов?
Мой вариант использования требует, чтобы домены node.js обменивались информацией между файлами сервера на уровне запроса. Пример реализации в express.js domain = require('domain'); app.use(function(req, res, next) { var reqDomain =...
632 просмотров

недопустимая локальная ссылка потока на обычную ошибку символа в переменной TLS
У меня странная проблема, которая возникает во время связывания. У меня есть заголовочный файл, содержащий следующее определение foo.hpp : struct Foo { static __thread int x; } И исходный файл, который ссылается на эту переменную...
1172 просмотров
schedule 29.03.2022

Можно ли реализовать boost::thread_specific_ptr через thread_local?
Эта проблема может выглядеть странно. Я хочу сделать это, потому что у нас есть некоторый код, который нужно собрать на нескольких платформах, но некоторые платформы не поддерживают thread_local, тогда вместо этого используйте...
1748 просмотров
schedule 22.01.2023

Каков формальный способ определения связи идентификатора _Thread_local?
Это вопрос типа «язык-юрист» по частному делу в Стандарте C11. Правила, определяющие привязку идентификатора в программе на языке C, изложены в пункте 6.2.2 стандарта C11. В частности, 6.2.2 (5) утверждает, что (выделено мной): Если...
152 просмотров