怎么让一个类型的变量在一个线程同时只有1个存活

如何让一个类型的变量在一个线程同时只有1个存活
我有一个类型 A
一个线程thread
然后这个线程内部创建了一个类型为A的变量
但是这个类型为A的变量在析构以前不允许其他同类型对象的在thread存在
但是如果这个时候thread切换到thread2
然后thread2创建了一个A,那么这个没有错

总之就是
一个线程内只能有1个A存活

------解决方案--------------------
Thread Local Storage (TLS) 

__declspec( thread )
------解决方案--------------------
os的tls数量有限制,可以使用boost库的tls子库。