Как будет выглядеть потокобезопасный массив?Вы не можете добавлять или удалять элементы массива.Все, что вы можете сделать, это присвоить значения отдельным членам.
Предположим, ваш код имеет
int x = a[2];
a[3] = x;
Безопасен ли этот поток?(Подсказка: возможно, нет, зависит от того, насколько непротиворечивы вы хотите, чтобы [2] и [3] были).
В общем: начните с явно поточно-ориентированного потока.Поставьте синхронизацию - это не так дорого.Действительно подумайте о семантике, которую вы имеете в виду.Протестируйте его и выведите из тупика - если у вас есть такие проблемы, вы, возможно, даже не подумали о том, что вы пытаетесь сделать достаточно четко.Только если ваши тесты производительности действительно показывают, что это будет вашим узким местом, начинайте становиться умнее.