怎么让一个类型的变量在一个线程同时只有1个存活
如何让一个类型的变量在一个线程同时只有1个存活
我有一个类型 A
一个线程thread
然后这个线程内部创建了一个类型为A的变量
但是这个类型为A的变量在析构以前不允许其他同类型对象的在thread存在
但是如果这个时候thread切换到thread2
然后thread2创建了一个A,那么这个没有错
总之就是
一个线程内只能有1个A存活
------解决方案--------------------
Thread Local Storage (TLS)
__declspec( thread )
------解决方案--------------------
os的tls数量有限制,可以使用boost库的tls子库。
我有一个类型 A
一个线程thread
然后这个线程内部创建了一个类型为A的变量
但是这个类型为A的变量在析构以前不允许其他同类型对象的在thread存在
但是如果这个时候thread切换到thread2
然后thread2创建了一个A,那么这个没有错
总之就是
一个线程内只能有1个A存活
------解决方案--------------------
Thread Local Storage (TLS)
__declspec( thread )
------解决方案--------------------
os的tls数量有限制,可以使用boost库的tls子库。