How to create a static function whose variables need not to be created within it (for computational issues), taking into account that this function can be called by different threads?
Example:

```
class calcul {
    static double **v1, **v2, ...,**vn;

public:
    calcul();
    ~calcul();

    static void matrix();
}; 

```

such that `matrix()` uses `v1`, ..., `vn`.

The question is: when having multiple call for `calcul::matrix()` from different threads, would this create conflicts i.e. v1 related to thread A can be modified by thread B?

My objective of using 'static' is ergonomic in the sense that I would not each time need creating a corresponding object. In fact Class 'clacul' would be part of a library that needs to be used for real-time applications. That means that calcul() could be called each milliseconds for instance.