线程特定指针如何工作

时间:2015-08-20 17:30:17

标签: c++ multithreading boost thread-safety thread-local-storage

最近我发现了boost特定指针的神奇之处。在对线程安全性进行一些研究之后,我想知道具体的提升线程特定指针是如何工作的。但是,我似乎无法在文档中找到它。任何人都可以提供一些关于这个或一些详细文档的见解吗?

1 个答案:

答案 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