gpt4 book ai didi

C++ - std::vector 安全多线程

转载 作者:行者123 更新时间:2023-11-30 01:05:50 29 4
gpt4 key购买 nike

我正在开发一个程序来计算矩阵的行列式(可能很大,最多 1000 行)。因为它可以很大,所以我在 dim(M) > 250 时使用多线程(< 250 在 100 毫秒内计算)。

我的想法是把矩阵分成4个部分,高斯同时消去每个部分,然后重新收集矩阵,计算行列式。

我想知道,在多个线程中访问一个 vector 是否安全,因为它保证我只会访问它的不同部分?

另外,有什么技巧可以很好地限制内存使用量?我用 vector<vector<double>> , 所以 8 * 1000 * 1000 doubles可能是个大麻烦。

最佳答案

只要不改变它的大小,它就是安全的。

vector 的内容不会移动,除非您调整大小。因此,只要您访问内存的不同部分,它就是安全的。

关于C++ - std::vector 安全多线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47840938/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com