Re[2]: RAII, scope(exit) ...;
От: c-smile Канада http://terrainformatica.com
Дата: 18.08.10 22:47
Оценка:
Здравствуйте, 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 как-нибудь через регистры процессора адресуется?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.