Допустим, у меня есть класс Foo
class Foo {...}
И массив указателей длины N
Foo * fooArr[N];
Есть несколько потоков, которые должны читать и изменять элементы массива (а могут вообще удалить какой-то элемент) Первое, что приходит на ум - добавить массив мьютексов mutex mutArr[N];
И функции void lock(int index); и unlock(int index); Которые блокировали бы определённый объект на время работы с ним
Но при слишком больших длинах возникает исключение
#include <mutex>
#include <iostream>
using namespace std;
const int N = 25000;
int main() {
mutex mutArr[N];
cout << sizeof(mutArr) << endl;
system("pause");
return 0;
}
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости