Здравствуйте, remark, Вы писали:
R>Здравствуйте, c-smile, Вы писали:
R>R>struct context
R>{
R> static thread_local CTX* ctx;
R> context(CTX& c)
R> {
R> assert(ctx == 0);
R> ctx = &c;
R> enter(&c);
R> }
R> ~context()
R> {
R> assert(ctx != 0);
R> leave(ctx);
R> ctx = 0;
R> }
R>};
R>
Как я понимаю thread_local __declspec(thread) либо __thread ?
Если да то во всяком случае __declspec(thread) даже между разными windows не portable.
User comment в
http://msdn.microsoft.com/en-us/library/9w1sdazb(v=VS.80).aspx
А так в принципе как вариант оченно даже ...
А вот интересно какова цена доступа к __declspec(thread) переменной?
TLS как-нибудь через регистры процессора адресуется?