标签: c++ boost singleton multithreading
很抱歉本周发布了这么多问题。
我假设thread.get_id返回的线程索引是特定于实现的。 在pthreads的情况下,索引是否被重用? IE,如果线程0运行并加入,是否会在具有不同ID之后启动线程?
thread.get_id
我之所以要问这是需要实现单一模式的转折:每个线程都有自己的实例。我知道这听起来很疯狂,但是线程控制硬件(cuda),它不允许设备内存共享,即使在线程级别也是如此 实现这种模式的好方法是什么?
答案 0 :(得分:5)
对于每个线程获得自己的实例的全局(单例),使用线程本地存储。为此,Boost有thread_specific_ptr。