最近我发现了boost特定指针的神奇之处。在对线程安全性进行一些研究之后,我想知道具体的提升线程特定指针是如何工作的。但是,我似乎无法在文档中找到它。任何人都可以提供一些关于这个或一些详细文档的见解吗?
答案 0 :(得分:2)
来自Boost docs on thread local storage:
boost::thread_specific_ptr
为线程本地存储提供了一种可移植的机制,适用于 Boost.Thread 支持的所有编译器。boost::thread_specific_ptr
的每个实例表示指向对象(例如errno
)的指针,其中每个线程必须具有不同的值。可以使用get()
成员函数或使用*和 - >获取当前线程的值。指针参数运算符。最初,指针在每个线程中的值为NULL,但可以使用reset()
成员函数设置当前线程的值。
你可以找到Boost source here。