小弟请教下 thread_local和boost::thread_specific_ptr是否功能类似
刚从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 有没有可以返回线程对象本身的&或者指针的方法?
望各位大佬指教
但是又发c11里多了一个thread_local关键字 好像是类似的功能 但是详细的我也不太清楚 请问这两种能否等价使用?
第二个问题,c++里有没有方法获取到当前线程对象的方法?就是类似java里Thread t = Thread.currentThread()这种方法,这样的话我就可以用一个map让thread做key. Map<Thread, Object> 类似这种。
我找c++里也只有有个std::this_thread::get_id()返回id 有没有可以返回线程对象本身的&或者指针的方法?
望各位大佬指教
...全文
相关推荐
C++11 std::shared_ptr总结与使用示例代码详解
它使用引用计数来标识是否有多余指针指向该资源,使得资源的管理更加方便和高效。
C++与Lua深度集成实战:基于sol2实现高性能脚本系统
在软件工程中,脚本语言与原生代码的集成是构建可扩展、高性能系统的关键技术。其核心原理是通过绑定机制建立两种语言间的通信桥梁,实现函数调用、数据交换和对象共享。这种技术为系统带来了显著的灵活性提升和热更新能力,尤其适用于需要快速迭代和动态配置的场景。在游戏开发、工业自动化、插件系统等领域,通过深度集成,脚本层可以直接操作底层对象,参与核心逻辑决策,从而大幅提升开发效率。本文以C++与Lua的集成为例,深入探讨如何利用sol2等现代绑定库实现面向对象、类型安全的双向交互,解决对象生命周期管理、复杂类型映射等核心
Boost_C++库
**函数对象和函数适配器**:提供如bind、mem_fn、ptr_fun等功能,方便函数对象和普通函数的转换和组合。5.
boost_last_1.zip_Boost
**线程库**(Boost.Thread):它允许开发者在C++中轻松地进行多线程编程,支持线程的创建、同步、异常处理等功能。2.
C++-boost库总结.doc
内存管理boost库提供了多种智能指针,包括:1. scoped_ptr:类似auto_ptr,但其一旦获得对象的管理权,你就无法再从它那里取回来。


