TLS ("thread-local storage", не "transport layer security")
|
|
Понедельник, 13 Июля 2020 г. 16:50
+ в цитатник
Qraizer:
JoeUser, как это что-либо меняет? Накидал вот наконец-то пример:
// ------------ thrd.h
extern thread_local int trdLocalVar;
void g();
// ------------ src1.cpp
#include
#include "thrd.h"
void g()
{
std::cout << "The trdLocalVar is " << trdLocalVar << " now" << std::endl;
}
// ------------ src2.cpp
#include
#include
#include
#include "thrd.h"
thread_local int trdLocalVar = -1;
std::mutex mtx;
void thr(int n)
{
std::lock_guard ct(mtx);
trdLocalVar = n;
g();
}
int main()
{
std::thread trd1(thr, 1);
std::thread trd2(thr, 2);
std::thread trd3(thr, 3);
trd1.join();
trd2.join();
trd3.join();
}
Всё компилится и линкуется. Результат ожидаемый:
The trdLocalVar is 1 now
The trdLocalVar is 2 now
The trdLocalVar is 3 now
https://forum.sources.ru/index.php?showtopic=419143&view=findpost&p=3834193
Метки:
C/C++:
Общие вопросы
-
Запись понравилась
-
0
Процитировали
-
0
Сохранили
-