【发布时间】:2013-09-24 06:46:58
【问题描述】:
考虑使用g++ -std=c++11 (GCC 4.7.2) 编译此函数:
boost::uuids::uuid getID()
{
static boost::uuids::random_generator generator;
return generator();
}
从多个线程调用getID 是否安全?
正如here 所述,第一行的本地静态对象定义根据 C++11 标准是线程安全的。问题是在第二行对同一对象generator 的boost::uuids::random_generator::operator() 调用是否也是线程安全的。返回的 UUID 在单个线程中是否是唯一的?
【问题讨论】:
标签: c++ c++11 gcc4.7 boost-random boost-uuid