如何创建一个静态函数,其变量不需要在其中创建(对于计算问题),考虑到可以通过不同的线程调用该函数? 实施例:静态函数和多线程中的C++静态成员
class calcul {
static double **v1, **v2, ...,**vn;
public:
calcul();
~calcul();
static void matrix();
};
使得matrix()
使用v1
,...,vn
。
现在的问题是:当来自不同线程的calcul::matrix()
多次调用时,这是否会造成冲突,即与线程A相关的v1可以由线程B修改?
我使用'静态'的目标是符合人体工程学的,因为我不会每次都需要创建相应的对象。实际上Class'clacul'将是需要用于实时应用程序的库的一部分。这意味着calcul()可以每毫秒调用一次。
为什么不能” V1,V2 ......是局部变量矩阵?乳清他们需要静态吗? – jpo38 2015-02-11 13:01:40
针对计算时间问题。想象一下,v1 .. vn是大尺寸数组,例如 – Courier 2015-02-11 13:02:16
我不能以任何方式将第一句与最后一句结合起来,这会导致明确的问题。也许试着重新说出它,因为我不知道你在说什么。静态变量初始化?并行性和线程安全性?两者都不是,完全是另一回事? – DevSolar 2015-02-11 13:02:55