2012-11-12 52 views
3

函数std::polar()线程安全吗?是std :: polar线程安全吗?

我想在里面使用它,请拨打#pragma指令。

+2

标准没有指定它是否是线程安全的,但我无法想象一个实现它不是。听起来就像你在使用OpenMP - 考虑使用与C++更好集成的东西,比如Intel TBB。 –

+0

感谢您的建议,但这是一个学校项目,所以我必须坚持下去。无论如何,总是很好的了解其他选项。 此致, – gbc921

回答

4

是的,std::polar是线程安全的(用于线程安全的某些定义)。见[res.on.data.races]/3

A C++标准库函数应不直接或间接地修改对象(1.10)比当前线程,除非对象通过该函数的非 - const参数,包括本直接或间接访问的其它线程访问。

由于std::polar只接受常量参数,因此它不会修改调用它的线程之外的任何对象。