我想要测试调用我的一个类的不同函数的线程。我有一个关键的时间线程,我不希望任何人调用可能从该线程调用new的函数。然而,由于这两个函数是公共的,所以我不能用语言来执行它。
我的想法是来测试线程id。假设我可以确保初始化线程id的调用位于正确的线程中,那么我只需在其他调用中调用thread::get_id(),并将其与我保存的线程id进行比较。
问题是,我也想在关键线程中测试这个ID,但是我无法锁定该线程.。
因此,我的问题是:thread::get_id()是否没有锁(执行的最糟糕时间是什么?)
发布于 2013-05-29 13:04:16
对于thread::get_id()和std::this_thread::get_id()是否是无锁的,甚至对于它们的复杂性,标准都没有给出任何保证。
恐怕您的问题的答案是特定于实现的,具体取决于您特定的标准库和底层线程库。
https://stackoverflow.com/questions/16814411
复制相似问题