tsn*_*rri 6 c++ multithreading c++11 valarray
如果我已经正确理解,由于C++ 11它一直安全只要同时调用一个容器的const成员函数和修改容器中的元素作为容器本身没有被修改作为操作的一部分(如从可见例如cppreference.com中有关线程安全的表格.由于std :: valarray没有在(草案)标准的容器部分列出,我不确定线程安全是否也适用于它.换一种说法,
我想使用std :: valarray作为使用多个线程填充的多维数字数组.
如果我正确地阅读你的问题,[res.on.data.races]则可以保护不同的切片不参与数据竞赛,在
C++ 标准库函数不得直接或间接访问当前线程以外的线程可访问的对象,除非这些对象是通过函数的参数直接或间接访问的,包括
this.
[container.requirements.dataraces]针对对不同元素的修改添加了额外的保护,这是严格valarray缺乏的。