-Поиск по дневнику

Поиск сообщений в rss_forum_sources_ru

 -Подписка по e-mail

 

 -Постоянные читатели

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 29.07.2007
Записей:
Комментариев:
Написано: 80


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

Метки:  

 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку