【问题标题】:How do thread specific pointers work线程特定指针如何工作
【发布时间】:2015-08-20 17:30:17
【问题描述】:

最近我发现了提升线程特定指针的魔力。在对线程安全进行了一些研究之后,我想知道提升线程特定指针的工作原理。但是,我似乎无法在文档中找到它。谁能提供一些对此或一些详细文档的见解?

【问题讨论】:

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


【解决方案1】:

来自 Boost docs on thread local storage

boost::thread_specific_ptr 提供了一种可移植的线程本地存储机制,适用于 Boost.Thread 支持的所有编译器。 boost::thread_specific_ptr 的每个实例都代表一个指向对象(例如errno)的指针,其中每个线程必须具有不同的值。当前线程的值可以使用get() 成员函数或使用* 和-> 指针引用运算符获得。最初,每个线程中指针的值为 NULL,但可以使用reset() 成员函数设置当前线程的值。

你可以找到 Boost source here

【讨论】:

  • 我明白了。我试图找出这个实现在幕后是什么样子的。
猜你喜欢
  • 2015-09-01
  • 1970-01-01
  • 2021-09-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-10
  • 1970-01-01
相关资源
最近更新 更多