Пытаюсь использовать thread local storage
Пример работы с ним, приведенный по ссылке работает.
меняем тип переменной с u32 на tuple - (u32, u32) перстаёт работать.
Могли бы на пальцах объяснить зачем нужен thread local storage? и когда его стоит использовать?
Я вижу что передача thread local storage в поток равносильна передачи в поток копии значения.
иммутабельные значения так и остаются иммутабельные, а мутабельные меняются только в рамках данного потока. Так зачем все это? Какие тут юзкейсы?
это гарантия однопоточности, а значит отсутствия рисков связанных с многопоточностью - гонки, локи и проч.
поскольку все, что попало в thread_local доступно только одному, владеющему потоку