考虑使用g++ -std=c++11
(GCC 4.7.2) 编译此函数:
boost::uuids::uuid getID()
{
static boost::uuids::random_generator generator;
return generator();
}
getID
从多个线程调用是否安全?
正如这里提到的,根据 C++11 标准,第一行的本地静态对象定义是线程安全的。问题是第二行boost::uuids::random_generator::operator()
对同一对象的调用generator
是否也是线程安全的。返回的 UUID 在它们在单个线程中的意义上是否是唯一的?