是否可以将数据保存在boost线程中并检索它?

Is it possible to save data in a boost thread and retrieve it?

本文关键字:线程 检索 boost 存在 数据 保存 是否      更新时间:2023-10-16

在Boost线程中可以这样做:

std::string key;
MyClass value;    
myThread->setData(key, value);    
MyClass retrievedValue = myThread->getData(key);

setDatagetData只是用来解释我的需求的假想方法。


编辑:

@SLaks给了我必要的答案。但为了澄清:这个问题的目的不是"一个方法按方法"等效,但它是一个全局等效,其中我们可以通过某种方式在线程中的某个地方设置,我们可以通过同一线程中的某种方式在其他地方获得它…

:)

谢谢!

您正在寻找线程本地存储

使用boost:thread_specific_ptr

不是这样的,不是。

可以编写自己的线程类(以std::thread或boost::thread或其他方式实现),它也可以保存值的映射(除了线程实例),并且可以满足您的要求。