小弟请教下 thread_local和boost::thread_specific_ptr是否功能类似

木子牙膏 2019-11-29 12:44:52
刚从java转到c++,项目中需要有类似java里的ThreadLocal<T>的功能,百度了下找到boost中有个thread_specific_ptr可以实现类似的效果,
但是又发c11里多了一个thread_local关键字 好像是类似的功能 但是详细的我也不太清楚 请问这两种能否等价使用?

第二个问题,c++里有没有方法获取到当前线程对象的方法?就是类似java里Thread t = Thread.currentThread()这种方法,这样的话我就可以用一个map让thread做key. Map<Thread, Object> 类似这种。
我找c++里也只有有个std::this_thread::get_id()返回id 有没有可以返回线程对象本身的&或者指针的方法?
望各位大佬指教
...全文
261 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
taodm 2019-12-03
  • 打赏
  • 举报
回复
std::thread就是boost::thread标准化后的产物,在基本功能上std::thread可以替代boost::thread。
木子牙膏 2019-12-03
  • 打赏
  • 举报
回复
木子牙膏 2019-11-29
  • 打赏
  • 举报
回复
还有如果使用boost的thread_specific_ptr 必须搭配boost的thread用吗 能用std:thread或者直接用pthread吗
木子牙膏 2019-11-29
  • 打赏
  • 举报
回复
主要是我能用标准库就不想用boost第三方的库了

65,186

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧